/* SAMI Brain 4.0 — capa visual y responsive. Mantiene intacto el núcleo 3.6.7. */
:root{
  --sb-mint:#20e6aa;
  --sb-mint-2:#65f3c7;
  --sb-ink:#071121;
  --sb-card:#122641;
  --sb-card-2:#172f50;
  --sb-edge:rgba(130,183,225,.16);
  --sb-gold:#f2b84b;
  --sb-purple:#b470ff;
  --sb-danger:#ff617e;
  --sb-shadow:14px 16px 30px rgba(0,4,14,.42),-6px -6px 18px rgba(53,105,153,.12),inset 1px 1px 1px rgba(255,255,255,.07);
  --sb-shadow-soft:7px 8px 18px rgba(0,4,14,.32),-3px -3px 10px rgba(55,108,153,.09),inset 1px 1px 1px rgba(255,255,255,.06);
  --sb-inset:inset 5px 5px 12px rgba(0,4,14,.35),inset -3px -3px 10px rgba(53,105,153,.08);
  --sb-radius:22px;
}
[data-theme]{
  --sb-card:var(--panel);
  --sb-card-2:var(--bg2);
  --sb-edge:var(--border2);
  --sb-mint:var(--accent);
  --sb-mint-2:color-mix(in srgb,var(--accent) 72%,white);
  --sb-shadow:12px 14px 28px color-mix(in srgb,var(--bg) 78%,black),-5px -5px 16px color-mix(in srgb,var(--panel) 84%,white 16%),inset 1px 1px 1px rgba(255,255,255,.08);
  --sb-shadow-soft:6px 7px 15px color-mix(in srgb,var(--bg) 82%,black),-3px -3px 9px color-mix(in srgb,var(--panel) 88%,white 12%),inset 1px 1px 1px rgba(255,255,255,.07);
  --sb-inset:inset 5px 5px 11px color-mix(in srgb,var(--bg) 82%,black),inset -3px -3px 9px color-mix(in srgb,var(--panel) 88%,white 12%);
}
[data-theme="arctic"],[data-theme="linen"],[data-theme="sage"]{
  --sb-shadow:12px 14px 26px rgba(50,70,85,.18),-7px -7px 18px rgba(255,255,255,.92),inset 1px 1px 1px rgba(255,255,255,.95);
  --sb-shadow-soft:6px 7px 14px rgba(50,70,85,.15),-4px -4px 10px rgba(255,255,255,.9),inset 1px 1px 1px rgba(255,255,255,.95);
  --sb-inset:inset 5px 5px 10px rgba(55,75,90,.14),inset -4px -4px 10px rgba(255,255,255,.9);
}

body{background:radial-gradient(circle at 18% 5%,rgba(32,230,170,.07),transparent 28%),var(--bg);}
header{box-shadow:0 12px 30px rgba(0,4,14,.28);backdrop-filter:blur(18px);}
.logo-img{height:38px;width:auto;max-width:195px;object-fit:contain;filter:drop-shadow(0 7px 10px rgba(0,0,0,.28));}
.logo-tag{margin-top:-3px;letter-spacing:2.6px;opacity:.68;}
.ver-badge{border-radius:10px;box-shadow:var(--sb-shadow-soft);}

/* Una sola familia material: piezas blandas, borde fino y profundidad coherente. */
.panel,.scard,.ssect,.addbar,.stats .stat,.titem,.kanban-col,.calpage-wrap,.card-view-item,
.settings-section,.modal,.modal-box,.import-preview-row,.side-level,.level-card,.welcome-box{
  border:0!important;
  border-radius:var(--sb-radius);
  background:linear-gradient(145deg,var(--sb-card-2),var(--sb-card));
  box-shadow:var(--sb-shadow);
}
.hbtn,.sbtn,.mbtn,.chip,.nitem,.mob-action-btn,.gsearch,.sort-menu,.theme-menu{
  border-color:transparent!important;
  box-shadow:var(--sb-shadow-soft);
}
.hbtn:active,.sbtn:active,.mbtn:active,.chip:active,.nitem:active,.mob-action-btn:active{transform:translateY(2px) scale(.98);box-shadow:var(--sb-inset);}
aside,.bottom-nav,footer{box-shadow:var(--sb-shadow-soft);}
.btn,.vtbtn,.filter-pill,.tfoot-btn,.sort-btn,.theme-btn,.hbtn,.task-date-btn,
.bottom-nav-item,.sb-btn,.sb-tab,.sb-icon-btn{
  border-color:transparent!important;
  border-radius:14px;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
}
.btn:active,.vtbtn:active,.filter-pill:active,.tfoot-btn:active,.sb-btn:active,.sb-tab:active{transform:translateY(2px) scale(.98);box-shadow:var(--sb-inset);}
.btn.primary,.fab,.sb-btn.primary{background:linear-gradient(145deg,var(--sb-mint-2),var(--sb-mint));color:#052118;box-shadow:0 10px 24px rgba(32,230,170,.28),inset 1px 1px 2px rgba(255,255,255,.55);}
.fab{animation:none!important;border:1px solid rgba(255,255,255,.2);}
.titem{margin-bottom:12px;overflow:visible;}
.titem.expanded{outline:0;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 38%,transparent),var(--sb-shadow)!important;}
.task-expanded{border-top:0;box-shadow:inset 0 10px 16px -16px var(--accent);}
.task-notes textarea,.pfield input,.tags-input-wrap,.task-date-input,.task-recur-wrap input,.task-recur-wrap select,
.sb-input,.sb-textarea,.sb-select{background:color-mix(in srgb,var(--bg3) 78%,transparent);border:0!important;box-shadow:var(--sb-inset);border-radius:14px;color:var(--text);}
.task-notes textarea:focus,.pfield input:focus,.tags-input-wrap:focus-within,.task-date-input:focus,
.sb-input:focus,.sb-textarea:focus,.sb-select:focus{outline:0;box-shadow:var(--sb-inset),0 0 0 2px color-mix(in srgb,var(--accent) 45%,transparent);}
.task-footer{gap:7px;}
.tfoot-btn{box-shadow:var(--sb-shadow-soft);}

/* Descripción de lectura: 3 líneas primero; edición cuando se pide. */
.sb-description{margin:8px 0 2px;padding:12px 14px;border-radius:15px;background:color-mix(in srgb,var(--bg3) 62%,transparent);border:0;box-shadow:var(--sb-inset);}
.sb-description-text{font-size:13px;line-height:1.55;color:var(--text2);white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.sb-description.open .sb-description-text{display:block;overflow:visible;}
.sb-description-actions{display:flex;gap:14px;margin-top:6px;}
.sb-link{border:0;background:transparent;padding:0;color:var(--sb-mint);font:600 11px inherit;cursor:pointer;}
.task-notes.sb-collapsed{display:none;}

/* Acciones contextuales insertadas por v4. */
.sb-task-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px;}
.sb-btn{min-height:38px;padding:8px 13px;border:0;background:linear-gradient(145deg,var(--panel),var(--bg2));box-shadow:var(--sb-shadow-soft);color:var(--text2);font:600 12px inherit;cursor:pointer;}
.sb-btn:hover{color:var(--sb-mint);transform:translateY(-1px);box-shadow:var(--sb-shadow-soft),0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent);}
.sb-btn.danger{color:var(--sb-danger);}
.sb-hierarchy-actions{display:flex;gap:8px;margin:8px 0 5px 28px;padding-left:9px;border-left:2px solid rgba(180,112,255,.35);}
.sb-sub-comment{border:0;background:transparent;color:var(--text3);cursor:pointer;font-size:14px;padding:5px;}

/* Project cockpit */
.sb-overlay{position:fixed;inset:0;z-index:5000;background:rgba(0,5,16,.72);backdrop-filter:blur(13px);display:none;align-items:center;justify-content:center;padding:24px;}
.sb-overlay.open{display:flex;}
.sb-dialog{width:min(1060px,96vw);max-height:92dvh;display:flex;flex-direction:column;overflow:hidden;border:0;border-radius:28px;background:linear-gradient(145deg,var(--sb-card-2),var(--sb-card));box-shadow:var(--sb-shadow);}
.sb-dialog-head{display:flex;align-items:center;gap:14px;padding:18px 22px;border-bottom:0;box-shadow:0 13px 20px -22px var(--accent);}
.sb-brain-mark{width:48px;height:48px;border-radius:17px;background:linear-gradient(145deg,#56f0c0,#13b982);box-shadow:var(--sb-shadow-soft);display:grid;place-items:center;font-size:25px;}
.sb-dialog-title{flex:1;min-width:0;}
.sb-dialog-title h2{margin:0;font-size:21px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sb-dialog-title p{margin:3px 0 0;font-size:11px;color:var(--text3);}
.sb-icon-btn{width:42px;height:42px;border:0;background:var(--sb-card);color:var(--text2);box-shadow:var(--sb-shadow-soft);cursor:pointer;}
.sb-tabs{display:flex;gap:7px;padding:10px 18px;overflow-x:auto;border-bottom:0;scrollbar-width:none;}
.sb-tabs::-webkit-scrollbar{display:none;}
.sb-tab{flex:0 0 auto;border:0;background:transparent;color:var(--text3);padding:9px 13px;font:600 12px inherit;cursor:pointer;}
.sb-tab.active{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--sb-mint);box-shadow:var(--sb-inset),0 0 14px color-mix(in srgb,var(--accent) 22%,transparent);}
.sb-dialog-body{overflow:auto;padding:20px 22px 30px;overscroll-behavior:contain;}
.sb-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.sb-metric,.sb-section,.sb-timeline-item,.sb-review,.sb-tree-row{border:0;background:color-mix(in srgb,var(--bg2) 76%,transparent);border-radius:18px;box-shadow:var(--sb-shadow-soft);}
.sb-metric{padding:16px;}
.sb-metric strong{display:block;color:var(--text);font-size:23px;margin-bottom:3px;}
.sb-metric span{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.8px;}
.sb-section{padding:17px;margin-top:14px;}
.sb-section h3{font-size:13px;margin:0 0 12px;color:var(--text);}
.sb-progress{height:11px;border-radius:10px;background:rgba(2,10,22,.65);box-shadow:var(--sb-inset);overflow:hidden;}
.sb-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--sb-mint),#63d7ff);}
.sb-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.sb-input,.sb-textarea,.sb-select{width:100%;padding:11px 12px;outline:none;font:inherit;}
.sb-textarea{min-height:88px;resize:vertical;}
.sb-label{display:block;font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.7px;margin:0 0 5px 2px;}
.sb-form-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.sb-timeline{display:grid;gap:10px;}
.sb-timeline-item,.sb-review{padding:14px;}
.sb-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--text3);font-size:10px;margin-bottom:7px;}
.sb-status{padding:3px 8px;border-radius:99px;background:rgba(32,230,170,.12);color:var(--sb-mint);}
.sb-status.risk{background:rgba(242,184,75,.12);color:var(--sb-gold);}
.sb-status.off{background:rgba(255,97,126,.12);color:var(--sb-danger);}
.sb-review p,.sb-timeline-item p{margin:5px 0;color:var(--text2);font-size:13px;line-height:1.5;white-space:pre-wrap;}
.sb-tree{display:grid;gap:7px;}
.sb-tree-row{display:flex;align-items:center;gap:9px;padding:10px 12px;margin-left:calc(var(--depth,0) * 18px);}
.sb-tree-row.done{opacity:.55;}
.sb-tree-row .name{flex:1;min-width:0;font-size:13px;color:var(--text);}
.sb-tree-row .kind{font-size:9px;padding:3px 7px;border-radius:7px;background:rgba(180,112,255,.12);color:#c997ff;}
.sb-empty{text-align:center;padding:28px 15px;color:var(--text3);font-size:13px;}
.sb-report-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.sb-report-actions .sb-btn{text-align:left;min-height:62px;}

@media(max-width:760px){
  :root{--sb-radius:18px;}
  header{height:64px;padding:8px 12px;gap:8px;}
  .logo-img{height:30px;max-width:142px;}
  .logo-tag,.ver-badge,.beta-badge{display:none!important;}
  .gsearch{margin-left:auto;max-width:44px;transition:max-width .25s ease;overflow:hidden;border-radius:15px;}
  .gsearch:focus-within{max-width:min(52vw,280px);}
  .gsearch input{min-width:170px;}
  .panel,.addbar,.titem{border-radius:18px;box-shadow:var(--sb-shadow-soft);}
  .stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px!important;}
  .stats .stat{min-width:0!important;padding:10px 4px!important;border-radius:15px!important;box-shadow:var(--sb-shadow-soft);}
  .stats .stat strong{font-size:21px!important;}
  .stats .stat span{font-size:8px!important;letter-spacing:0!important;}
  .filters,.view-filters{display:flex;overflow-x:auto;flex-wrap:nowrap!important;padding:2px 1px 8px;scrollbar-width:none;}
  .filters::-webkit-scrollbar,.view-filters::-webkit-scrollbar{display:none;}
  .filter-pill{flex:0 0 auto;}
  .addbar{padding:13px!important;}
  .titem-main{padding:13px 10px!important;gap:7px!important;}
  .drag-handle,.pdot-sm{display:none!important;}
  .tcontent{min-width:0;}
  .ttxt{font-size:15px!important;line-height:1.35!important;}
  .badges{margin-top:6px!important;gap:4px!important;}
  .task-expanded{padding:10px!important;}
  .task-footer{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));}
  .tfoot-btn{justify-content:center;min-height:42px;}
  .sb-overlay{padding:0;align-items:flex-end;}
  .sb-dialog{width:100%;height:100dvh;max-height:100dvh;border-radius:0;border:0;}
  .sb-dialog-head{padding:12px 14px;padding-top:max(12px,env(safe-area-inset-top));}
  .sb-brain-mark{width:40px;height:40px;border-radius:14px;font-size:21px;}
  .sb-dialog-title h2{font-size:17px;}
  .sb-tabs{padding:8px 10px;}
  .sb-dialog-body{padding:14px 12px calc(88px + env(safe-area-inset-bottom));}
  .sb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .sb-metric{padding:13px;}
  .sb-form-row{grid-template-columns:1fr;}
  .sb-report-actions{grid-template-columns:1fr;}
  .sb-tree-row{margin-left:calc(var(--depth,0) * 10px);}
  .sb-hierarchy-actions{margin-left:10px;overflow-x:auto;}
  .sb-hierarchy-actions .sb-btn{flex:0 0 auto;}
}

@media(max-width:390px){
  .logo-img{height:27px;max-width:124px;}
  .stats .stat span{font-size:7px!important;}
  .sb-task-actions{display:grid;grid-template-columns:1fr 1fr;}
}

@media print{.sb-overlay{display:none!important;}}
