/* Application shell: sidebar, main, topbar + responsive
   Linear/ClickUp-inspired: clean, flat, minimal shadows. */

    .app{min-height:100vh;overflow-x:hidden}
    @media(min-width:901px){.main{margin-left:var(--sidebar)}.main.sidebar-collapsed{margin-left:64px}}
    @media(min-width:901px) and (max-width:1100px){.main{margin-left:220px}.main.sidebar-collapsed{margin-left:64px}}
    @media(max-width:900px){.main{margin-left:0}}

    /* ============ RAIL (mobile only, hidden on desktop) ============ */
    .rail{position:fixed;inset:0 auto 0 0;width:0;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;z-index:10;overflow:hidden}
    .mark{width:32px;height:32px;margin:12px 0 18px;border-radius:8px;display:grid;place-items:center;background:var(--blue);color:#fff;position:relative;overflow:hidden}
    .mark:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.15),transparent 50%)}
    .mark svg{position:relative;z-index:1}
    .rail button,.rail a{width:44px;height:44px;margin:2px 0;border:0;border-radius:10px;background:transparent;color:var(--muted);position:relative;transition:.15s;display:grid;place-items:center;text-decoration:none}
    .rail button:hover,.rail button.active,.rail a:hover,.rail a.active{background:var(--blue-weak);color:var(--blue)}
    .rail-bottom{margin-top:auto;margin-bottom:14px;display:grid;gap:2px}

    /* ============ SIDEBAR ============ */
    .workspace-sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);padding:16px 12px 14px;background:#fff;border-right:1px solid var(--line);z-index:9;display:flex;flex-direction:column;overflow:hidden;transition:width .25s cubic-bezier(.4,0,.2,1)}
    .workspace-sidebar.collapsed{width:64px;padding:16px 10px}
    .workspace-sidebar .label-text,.workspace-sidebar .workspace-card,.workspace-sidebar .section-label,.workspace-sidebar .nav-section,.workspace-sidebar .side-link .link-text,.workspace-sidebar .side-link .count,.workspace-sidebar .side-foot .info,.workspace-sidebar .side-foot .gear{transition:opacity .1s ease}
    .workspace-sidebar.collapsed .label-text,.workspace-sidebar.collapsed .workspace-card,.workspace-sidebar.collapsed .section-label,.workspace-sidebar.collapsed .nav-section,.workspace-sidebar.collapsed .side-link .link-text,.workspace-sidebar.collapsed .side-link .count,.workspace-sidebar.collapsed .side-foot .info,.workspace-sidebar.collapsed .side-foot .gear{opacity:0;pointer-events:none}
    .workspace-sidebar.collapsed .workspace-card,.workspace-sidebar.collapsed .section-label,.workspace-sidebar.collapsed .nav-section,.workspace-sidebar.collapsed .side-foot .info,.workspace-sidebar.collapsed .side-foot .gear{display:none}
    .workspace-sidebar.collapsed .brandline{justify-content:center;gap:0;margin:2px 0 18px}
    .workspace-sidebar.collapsed .side-link{justify-content:center;padding:10px 0;white-space:nowrap}
    .workspace-sidebar.collapsed .side-link .link-text,.workspace-sidebar.collapsed .side-link .count{position:absolute;opacity:0;pointer-events:none;width:0;overflow:hidden}
    .workspace-sidebar.collapsed .side-foot{justify-content:center}
    .workspace-sidebar.collapsed .side-foot .av{margin:0}
    .sidebar-toggle{border:0;background:transparent;color:var(--faint);cursor:pointer;padding:4px;border-radius:6px;transition:.15s;display:inline-flex;align-items:center;flex-shrink:0;margin-left:auto}
    .sidebar-toggle:hover{background:var(--canvas);color:var(--ink)}
    .sidebar-toggle svg{width:16px;height:16px;transition:transform .25s cubic-bezier(.4,0,.2,1)}
    .workspace-sidebar.collapsed .sidebar-toggle{position:absolute;top:16px;right:8px;margin:0}
    .workspace-sidebar.collapsed .sidebar-toggle svg{transform:rotate(180deg)}
    .workspace-sidebar .side-link{white-space:nowrap;overflow:hidden}
    .workspace-sidebar .side-link svg{flex-shrink:0}
    .workspace-sidebar .brandline{white-space:nowrap}
    .workspace-sidebar .brandline .label-text{overflow:hidden;text-overflow:ellipsis}

    /* Brand line */
    .brandline{display:flex;align-items:center;gap:9px;font-weight:700;margin:2px 4px 16px;letter-spacing:-.02em;font-size:14px;color:var(--ink)}
    .brand-home{display:flex;align-items:center;gap:9px;min-width:0;color:var(--ink);text-decoration:none;border-radius:0;padding:0;margin:0;transition:none}
    .brand-home:visited,.brand-home:hover,.brand-home:active{color:var(--ink);text-decoration:none;background:transparent}
    .brandline .mark-mini{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;overflow:hidden}
    .brandline .mark-mini svg{width:24px;height:24px}

    /* Workspace card */
    .workspace-card{border:1px solid var(--line);background:var(--canvas);border-radius:10px;padding:11px 12px;margin-bottom:16px;transition:.15s;cursor:pointer}
    .workspace-card:hover{border-color:#CBD5E1;background:var(--canvas-2)}
    .workspace-card small,.section-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);font-weight:600}
    .workspace-name{display:flex;align-items:center;justify-content:space-between;font-weight:600;margin-top:5px;font-size:13px;color:var(--ink)}
    .workspace-name .chev{color:var(--faint)}
    .scope-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:var(--green);margin-right:6px;box-shadow:0 0 0 3px rgba(22,163,74,.12)}

    /* Nav sections */
    .nav-section{margin:16px 8px 6px;color:var(--faint);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
    .side-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--muted);text-decoration:none;margin:1px 0;transition:.12s;position:relative;font-weight:500;font-size:13px}
    .side-link svg{color:var(--faint);transition:.12s}
    .side-link:hover{background:var(--canvas);color:var(--ink)}
    .side-link:hover svg{color:var(--muted)}
    .side-link.active{background:var(--blue-weak);color:var(--blue);font-weight:600}
    .side-link.active svg{color:var(--blue)}
    .side-link.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:3px;background:var(--blue)}
    .side-link .count{margin-left:auto;color:var(--faint);font-size:11px;background:var(--canvas);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-weight:600}
    .side-link.active .count{color:var(--blue);background:#fff;border-color:var(--blue-soft)}

    /* Sidebar footer */
    .side-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--line-2);display:flex;align-items:center;gap:9px;margin:12px 4px 0}
    .side-foot .av{width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font-weight:600;display:grid;place-items:center;font-size:11px;flex-shrink:0}
    .side-foot .info{font-size:12px;line-height:1.3;min-width:0}
    .side-foot .info b{display:block;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .side-foot .info small{color:var(--faint);font-size:11px}
    .side-foot .gear{margin-left:auto;color:var(--faint);background:transparent;border:0;padding:4px;border-radius:6px;transition:.12s;display:grid;place-items:center}
    .side-foot .gear:hover{background:var(--canvas);color:var(--ink)}
    .sidebar-logout{margin:10px 4px 4px}
    .sidebar-logout .filter{width:100%;justify-content:center;height:30px;font-size:11.5px;color:var(--muted);border-color:var(--line-2);background:transparent}
    .sidebar-logout .filter:hover{color:var(--red);border-color:var(--red-soft);background:var(--red-weak)}

    /* ============ MAIN ============ */
    .main{min-height:100vh;display:flex;flex-direction:column;min-width:0}

    /* Topbar */
    .topbar{height:var(--top);position:sticky;top:0;z-index:8;background:rgba(255,255,255,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 24px}
    .crumb{color:var(--muted);font-size:13px;display:flex;align-items:center;gap:8px}
    .crumb strong{color:var(--ink);font-weight:600}
    .crumb .sep{color:var(--faint);font-size:11px}
    .top-search-wrap{position:relative;flex:1;max-width:420px;margin:auto}
    .top-search{height:34px;width:100%;border:1px solid var(--line);border-radius:8px;background:var(--canvas);padding:0 12px 0 34px;transition:.15s;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><path d='m21 21-4.3-4.3'/></svg>");background-repeat:no-repeat;background-position:10px center}
    .top-search::placeholder{color:var(--faint)}
    .top-search:focus{outline:none;border-color:var(--blue);box-shadow:var(--ring);background-color:#fff}
    .top-search-wrap .kbd{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--faint);background:#fff;border:1px solid var(--line);border-radius:4px;padding:2px 5px;font-weight:600;pointer-events:none;font-family:"JetBrains Mono",monospace}
    .top-actions{display:flex;align-items:center;gap:2px}
    .icon{width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:var(--muted);transition:.12s;display:grid;place-items:center;position:relative}
    .icon:hover{background:var(--canvas);color:var(--ink)}
    .icon .badge{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--red);border:2px solid #fff;box-shadow:0 0 0 1px var(--red)}
    .create{border:0;border-radius:8px;height:34px;padding:0 14px 0 12px;background:var(--blue);color:#fff;font-weight:600;box-shadow:var(--shadow-xs);transition:.15s;display:inline-flex;align-items:center;gap:6px;font-size:13px}
    .create:hover{background:var(--blue-2);box-shadow:var(--shadow-sm)}
    .create svg{width:14px;height:14px;stroke-width:2.2}
    .create-wrap{position:relative}
    .create-menu{position:absolute;top:42px;right:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);padding:6px;min-width:200px;z-index:100}
    .create-menu.hidden{display:none}
    .create-menu a{display:flex;align-items:center;gap:10px;padding:8px 11px;border-radius:7px;font-size:13px;font-weight:500;color:var(--ink-2);text-decoration:none;transition:.1s}
    .create-menu a:hover{background:var(--blue-weak);color:var(--blue)}
    .create-menu a svg{width:16px;height:16px;flex-shrink:0}

    /* ============ RESPONSIVE ============ */
    @media(max-width:1100px){.page{padding:28px 24px}.cards{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.kanban{grid-template-columns:repeat(2,1fr)}.agent-grid{grid-template-columns:1fr}}
    .mobile-nav{display:none}

    @media(max-width:1024px){
      .topbar{padding:0 18px;gap:10px}
      .top-search-wrap{max-width:280px}
      .crumb{font-size:12px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    }

    @media(max-width:900px){
      .crumb .sep,.crumb #crumbText{display:none}
      .crumb strong{font-size:13px}
      .top-search-wrap{max-width:none;flex:1}
      .top-actions .create{padding:0 10px}
    }

    @media(max-width:900px){
      :root{--rail:0px;--sidebar:0px}
      .rail,.workspace-sidebar{display:none}
      .main{margin:0}
      .topbar{padding:0 14px}
      .crumb{display:none}
      .top-search-wrap{display:block;margin:0;min-width:0;max-width:none}
      .top-actions .icon:nth-child(2),.top-actions .icon:nth-child(3){display:none}
      .page{padding:20px 12px 80px}
      .page-head{display:block}
      .page h1{font-size:22px}
      .head-actions{margin-top:14px}
      .view-tabs{overflow-x:auto;max-width:100%;scrollbar-width:thin}
      .view-tabs button,.view-tabs a{white-space:nowrap;flex-shrink:0}
      .toolbar .search{width:100%}
      .scope-chip{margin-left:0;width:100%}
      .mobile-nav{position:fixed;display:flex;justify-content:space-around;align-items:center;left:0;right:0;bottom:0;height:60px;background:#fff;border-top:1px solid var(--line);z-index:12;box-shadow:0 -4px 16px rgba(15,23,42,.04)}
      .mobile-nav button,.mobile-nav a{border:0;background:transparent;color:var(--muted);font-size:10px;display:flex;flex-direction:column;align-items:center;gap:3px;font-weight:500;text-decoration:none;padding:8px 12px;min-height:44px}
      .mobile-nav button svg,.mobile-nav a svg{width:20px;height:20px}
      .mobile-nav button.active,.mobile-nav a.active{color:var(--blue);font-weight:600}
    }
    @media(min-width:901px){
      .rail{display:none}
      .workspace-sidebar{left:0}
      .table-wrap{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-xs)}
      .grid th,.grid td{padding:0 14px}
      .scope-chip{font-size:12px}
    }
    @media(max-width:900px){#my-work .grid{min-width:480px}.table-wrap{max-width:100%;overflow-x:auto}}
    @media(max-width:720px){#my-work .grid{min-width:0}.table-wrap{overflow-x:visible}}

    @media(max-width:560px){
      .topbar{padding:0 12px;gap:8px}
      .top-search-wrap .kbd{display:none}
      .top-search{padding-left:32px;font-size:13px}
      .top-actions .create{padding:0 12px}
      .mobile-nav button,.mobile-nav a{font-size:10px}
      .cards{grid-template-columns:1fr}
      .kanban{grid-template-columns:1fr}
    }

    @media(max-width:400px){
      .top-actions .create{padding:0 10px}
      .top-actions .create span{display:none}
      .top-actions .icon{width:32px;height:32px}
      .top-search{padding-left:30px}
    }

    /* Navigation progress bar */
    .navigation-progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;opacity:0;z-index:100;transition:transform .18s ease,opacity .18s ease}
    .navigation-progress.active{transform:scaleX(.7);opacity:1;animation:navigationProgress 1.1s ease-in-out infinite}
    @keyframes navigationProgress{50%{transform:scaleX(.92)}100%{transform:scaleX(.7)}}

    /* Language menu */
    .lang-wrap{position:relative}
    .lang-menu{position:absolute;top:42px;right:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);padding:6px;min-width:140px;z-index:100}
    .lang-menu a{display:flex;align-items:center;gap:8px;padding:7px 11px;border-radius:7px;font-size:13px;color:var(--ink-2);text-decoration:none;transition:.12s;white-space:nowrap}
    .lang-menu a:hover{background:var(--canvas-2)}
    .lang-menu a.active{color:var(--blue);font-weight:600}
    .lang-menu a.active:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--blue);flex-shrink:0}
