/* AntarPortal — style */
:root{
    --bg:#0b1020;
    --surface:#131a2e;
    --surface-2:#1a2340;
    --border:#233053;
    --text:#e5e9f5;
    --muted:#8a94b3;
    --accent:#6366f1;
    --accent-2:#818cf8;
    --success:#10b981;
    --warn:#f59e0b;
    --danger:#ef4444;
    --radius:10px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}
a{color:inherit;text-decoration:none}
button{font-family:inherit}

.app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:16px 12px;display:flex;flex-direction:column;gap:8px;position:sticky;top:0;height:100vh;overflow-y:auto}
.main{padding:24px 32px;min-width:0}

.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 12px;border-bottom:1px solid var(--border);margin-bottom:8px}
.brand-logo{width:36px;height:36px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:8px;display:grid;place-items:center;font-size:20px}
.brand-name{font-weight:700;font-size:15px}
.brand-sub{font-size:11px;color:var(--muted)}

.nav-label{padding:14px 8px 6px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.nav-main,.nav-sub,.nav-ws{display:flex;flex-direction:column;gap:2px}
.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:#c5cbe0;font-size:13.5px}
.nav-item:hover{background:var(--surface-2);color:#fff}
.nav-item.active{background:var(--accent);color:#fff}
.nav-item svg{opacity:.85}

.ws-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;color:#c5cbe0;font-size:13px}
.ws-item:hover{background:var(--surface-2)}
.ws-item.active{background:var(--surface-2);color:#fff;font-weight:600}
.ws-dot{width:8px;height:8px;border-radius:50%;background:var(--ws-color,#6366f1);flex-shrink:0}
.ws-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ws-new{color:var(--muted);font-style:italic}

.nav-bottom{margin-top:auto;padding-top:12px;border-top:1px solid var(--border)}
.user-chip{display:flex;align-items:center;gap:10px;padding:6px}
.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:grid;place-items:center;font-weight:700;font-size:14px;color:#fff}
.user-meta{flex:1;min-width:0}
.user-name{font-size:13px;font-weight:600}
.user-role{font-size:11px;color:var(--muted);text-transform:capitalize}
.btn-logout{color:var(--muted);padding:6px;border-radius:6px}
.btn-logout:hover{background:var(--surface-2);color:#fff}

.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px;flex-wrap:wrap}
.page-title{font-size:24px;font-weight:700;margin:0}
.page-sub{color:var(--muted);font-size:13px;margin-top:4px}
.crumbs{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:12.5px;margin-bottom:8px}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--text)}
.crumbs .sep{opacity:.5}

.grid{display:grid;gap:16px}
.grid-3{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.grid-4{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;transition:transform .15s,border-color .15s}
.card:hover{border-color:#31406e}
.card-link{display:block}
.card-link:hover{transform:translateY(-2px)}
.card h3{margin:0 0 6px;font-size:15px;font-weight:600}
.card p{margin:0;color:var(--muted);font-size:13px}
.card .card-meta{margin-top:10px;color:var(--muted);font-size:12px;display:flex;gap:12px;flex-wrap:wrap}
.card-icon{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;color:#fff;margin-bottom:12px}
.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}
.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.stat-value{font-size:28px;font-weight:700;margin-top:4px}
.stat-sub{font-size:12px;color:var(--muted);margin-top:4px}

.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid transparent;background:var(--surface-2);color:var(--text);transition:.15s;text-decoration:none}
.btn:hover{background:var(--border)}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-2)}
.btn-danger{background:transparent;color:var(--danger);border-color:transparent}
.btn-danger:hover{background:rgba(239,68,68,.15)}
.btn-ghost{background:transparent}
.btn-ghost:hover{background:var(--surface-2)}
.btn-sm{padding:5px 10px;font-size:12px}

.form{max-width:520px}
.form-row{margin-bottom:14px}
.form-row label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px;font-weight:500}
.input,.select,.textarea{width:100%;padding:9px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:13.5px;font-family:inherit}
.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent)}
.textarea{resize:vertical;min-height:80px}
.form-row-inline{display:flex;gap:12px}
.form-row-inline>*{flex:1}

.flash{padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:13px}
.flash-ok{background:rgba(16,185,129,.15);color:#6ee7b7;border:1px solid rgba(16,185,129,.3)}
.flash-err{background:rgba(239,68,68,.15);color:#fca5a5;border:1px solid rgba(239,68,68,.3)}

/* Kanban */
.kanban{display:flex;gap:16px;overflow-x:auto;padding-bottom:16px;align-items:flex-start}
.kanban-col{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:280px;max-width:280px;display:flex;flex-direction:column;max-height:calc(100vh - 200px)}
.kanban-col-head{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}
.kanban-col-body{padding:10px;overflow-y:auto;flex:1;min-height:100px}
.kanban-card{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:8px;cursor:pointer;font-size:13px}
.kanban-card:hover{border-color:var(--accent)}
.kanban-card.dragging{opacity:.5}
.kanban-card-title{font-weight:500;margin-bottom:6px}
.kanban-card-meta{display:flex;gap:8px;color:var(--muted);font-size:11px;align-items:center;flex-wrap:wrap}
.pri{padding:1px 6px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}
.pri-low{background:rgba(148,163,184,.2);color:#94a3b8}
.pri-medium{background:rgba(99,102,241,.2);color:#a5b4fc}
.pri-high{background:rgba(245,158,11,.2);color:#fcd34d}
.pri-urgent{background:rgba(239,68,68,.2);color:#fca5a5}
.kanban-col.drop-target{background:var(--surface-2)}

.tbl{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.tbl th,.tbl td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border);font-size:13px}
.tbl th{background:var(--surface-2);color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.tbl tr:last-child td{border-bottom:0}
.tbl tr:hover{background:var(--surface-2)}
.badge{display:inline-block;padding:2px 8px;background:var(--surface-2);border-radius:12px;font-size:11px;color:var(--muted)}

/* File manager */
.filemgr-toolbar{display:flex;gap:8px;flex-wrap:wrap}
.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.file-tile{background:var(--surface);border:2px solid var(--border);border-radius:10px;padding:12px;cursor:pointer;position:relative;transition:.15s}
.file-tile:hover{border-color:var(--accent)}
.file-tile.selected{border-color:var(--accent);background:rgba(99,102,241,.08)}
.file-tile .tile-thumb{width:100%;height:120px;background:var(--surface-2);border-radius:6px;overflow:hidden;margin-bottom:8px;display:grid;place-items:center}
.file-tile .tile-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.file-tile .tile-ico{width:100%;height:120px;background:var(--surface-2);border-radius:6px;display:grid;place-items:center;font-size:48px;margin-bottom:8px}
.file-tile .tile-name{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
.file-tile .tile-meta{font-size:11px;color:var(--muted);margin-top:4px;text-align:center}
.file-tile .sel-check{position:absolute;top:8px;left:8px;width:18px;height:18px;cursor:pointer;opacity:0;transition:.15s;z-index:2}
.file-tile:hover .sel-check,.file-tile.selected .sel-check{opacity:1}
.file-tile .menu-btn{position:absolute;top:6px;right:6px;background:rgba(19,26,46,.9);border:1px solid var(--border);color:var(--text);width:24px;height:24px;border-radius:6px;cursor:pointer;padding:0;font-size:16px;line-height:1;opacity:0;transition:.15s;z-index:2}
.file-tile:hover .menu-btn{opacity:1}
.folder-tile .tile-ico{font-size:56px}

.pop-menu{position:absolute;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:4px;box-shadow:0 8px 20px rgba(0,0,0,.4);z-index:200;min-width:160px}
.pop-menu button{display:block;width:100%;text-align:left;padding:8px 12px;background:transparent;border:0;color:var(--text);cursor:pointer;font-size:13px;border-radius:4px}
.pop-menu button:hover{background:var(--surface-2)}

.bulk-bar{position:sticky;top:0;z-index:10;background:var(--accent);color:#fff;padding:12px 16px;border-radius:10px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;box-shadow:0 4px 12px rgba(99,102,241,.3)}
.bulk-bar .select{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);color:#fff}
.bulk-bar .btn{background:rgba(255,255,255,.15);color:#fff;border-color:transparent}
.bulk-bar .btn:hover{background:rgba(255,255,255,.25)}

.dropzone{border:2px dashed var(--border);border-radius:12px;padding:32px;text-align:center;color:var(--muted);background:var(--surface);margin-bottom:16px;cursor:pointer;transition:.15s}
.dropzone:hover,.dropzone.dragover{border-color:var(--accent);background:var(--surface-2);color:var(--text)}

/* Preview lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:1000;display:flex;flex-direction:column}
.lb-topbar{background:rgba(19,26,46,.95);border-bottom:1px solid var(--border);padding:12px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.lb-title{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.lb-body{flex:1;display:grid;place-items:center;padding:24px;overflow:auto}
.lb-body img{max-width:100%;max-height:100%;object-fit:contain}
.lb-body video{max-width:100%;max-height:100%}
.lb-body iframe{width:100%;height:100%;border:0;background:#fff;border-radius:8px}
.lb-body audio{width:min(500px,90vw)}
.lb-no-preview{background:var(--surface);padding:40px;border-radius:12px;text-align:center;max-width:400px}
.lb-no-preview h3{margin:12px 0 8px}

/* Share modal specific */
.share-link-row{background:var(--surface-2);border-radius:8px;padding:10px;margin-bottom:8px}
.share-link-row input{margin-bottom:6px;font-family:monospace;font-size:11px}

/* Login */
.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,#312e81 0%,#0b1020 60%)}
.login-card{background:var(--surface);border:1px solid var(--border);padding:40px;border-radius:16px;width:100%;max-width:400px;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.login-brand{text-align:center;margin-bottom:24px}
.login-brand .emoji{font-size:44px}
.login-brand h1{margin:8px 0 4px;font-size:22px}
.login-brand p{color:var(--muted);font-size:13px;margin:0}

/* Modal */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);display:grid;place-items:center;z-index:100;padding:20px}
.modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto}
.modal-head{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.modal-head h3{margin:0;font-size:16px}
.modal-body{padding:20px}
.modal-foot{padding:12px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}

/* Rich text editor */
.rt-wrap{border:1px solid var(--border);border-radius:8px;background:var(--bg);overflow:hidden}
.rt-toolbar{display:flex;flex-wrap:wrap;gap:2px;padding:6px;background:var(--surface);border-bottom:1px solid var(--border)}
.rt-toolbar button{background:transparent;border:0;color:var(--text);padding:5px 10px;font-size:13px;cursor:pointer;border-radius:4px;font-family:inherit;min-width:28px}
.rt-toolbar button:hover{background:var(--surface-2)}
.rt-sep{width:1px;background:var(--border);margin:2px 4px}
.rt-editor{min-height:100px;padding:12px 14px;outline:none;color:var(--text);font-size:13.5px;line-height:1.6}
.rt-editor:empty::before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}
.rt-editor p{margin:0 0 8px}
.rt-editor h1,.rt-editor h2,.rt-editor h3{margin:12px 0 6px;font-weight:700}
.rt-editor h2{font-size:18px}
.rt-editor h3{font-size:15px}
.rt-editor blockquote{border-left:3px solid var(--accent);padding-left:12px;margin:8px 0;color:var(--muted);font-style:italic}
.rt-editor pre{background:var(--surface-2);padding:10px;border-radius:6px;font-family:monospace;font-size:12px;overflow-x:auto}
.rt-editor ul,.rt-editor ol{padding-left:22px;margin:6px 0}
.rt-editor a{color:var(--accent-2);text-decoration:underline}

/* Rendered rich text (read-only display) */
.rt-render p{margin:0 0 8px}
.rt-render h1,.rt-render h2,.rt-render h3,.rt-render h4{margin:12px 0 6px;font-weight:700}
.rt-render h2{font-size:18px} .rt-render h3{font-size:15px}
.rt-render blockquote{border-left:3px solid var(--accent);padding-left:12px;margin:8px 0;color:var(--muted);font-style:italic}
.rt-render pre{background:var(--surface-2);padding:10px;border-radius:6px;font-family:monospace;font-size:12px;overflow-x:auto}
.rt-render ul,.rt-render ol{padding-left:22px;margin:6px 0}
.rt-render a{color:var(--accent-2);text-decoration:underline}
.rt-render img{max-width:100%;border-radius:6px}

/* Canvas — kept from previous */
.canvas-toolbar-outer{display:flex;gap:0;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:6px;margin-bottom:12px;flex-wrap:wrap}
.tb-group{display:flex;gap:2px}
.tb-btn{display:inline-flex;align-items:center;gap:5px;background:transparent;border:0;color:var(--text);padding:6px 10px;font-size:13px;cursor:pointer;border-radius:6px;font-family:inherit}
.tb-btn:hover{background:var(--surface-2)}
.tb-btn.active{background:var(--accent);color:#fff}
.tb-btn input[type=checkbox]{margin:0;cursor:pointer}
.tb-sep{width:1px;background:var(--border);margin:4px 6px}

.canvas-viewport{position:relative;height:calc(100vh - 240px);border:1px solid var(--border);border-radius:12px;overflow:hidden;background-color:var(--surface);background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,0.06) 1px,transparent 0);background-size:20px 20px;cursor:grab}
.canvas-viewport:active{cursor:grabbing}
.canvas-viewport.no-grid{background-image:none}
.canvas-inner{position:absolute;top:0;left:0;width:5000px;height:5000px;transform-origin:0 0}
.canvas-svg{position:absolute;inset:0;pointer-events:none}
.canvas-svg line{pointer-events:stroke}
.canvas-node{position:absolute;padding:12px;box-shadow:0 4px 12px rgba(0,0,0,.3);color:#1a2340;user-select:none;overflow:hidden;border:2px solid transparent;transition:border-color .15s}
.canvas-node.shape-sticky{border-radius:4px}
.canvas-node.shape-rect{border-radius:8px}
.canvas-node.shape-circle{border-radius:50%;text-align:center;padding:24px}
.canvas-node.shape-diamond{transform:rotate(45deg);border-radius:8px}
.canvas-node.shape-diamond .node-title,.canvas-node.shape-diamond .node-body{transform:rotate(-45deg)}
.canvas-node.selected{border-color:var(--accent);box-shadow:0 0 0 3px rgba(99,102,241,.4),0 4px 12px rgba(0,0,0,.3)}
.canvas-node.connect-start{border-color:var(--warn);box-shadow:0 0 0 3px rgba(245,158,11,.4)}
.canvas-node .node-title{font-weight:700;font-size:13px;margin-bottom:6px;outline:none}
.canvas-node .node-body{font-size:12px;white-space:pre-wrap;overflow:hidden;outline:none}
.canvas-node .resize-handle{position:absolute;bottom:2px;right:2px;width:12px;height:12px;cursor:se-resize;background:linear-gradient(135deg,transparent 50%,rgba(0,0,0,.3) 50%);border-radius:2px}

.empty{text-align:center;padding:60px 20px;color:var(--muted)}
.empty h3{color:var(--text);margin:8px 0}
.empty .empty-ico{font-size:48px;opacity:.5;margin-bottom:12px}

.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}
.flex{display:flex;align-items:center;gap:8px}
.flex-between{display:flex;align-items:center;justify-content:space-between;gap:12px}
.spacer{flex:1}
.muted{color:var(--muted)}
.small{font-size:12px}
.hidden{display:none!important}
.pill{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;background:var(--surface-2);color:var(--muted)}
/* Append to style.css — Round 2 additions */

/* Mention popup */
.mention-popup{position:absolute;background:#131a2e;border:1px solid #233053;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.5);z-index:1000;min-width:260px;max-width:360px;max-height:280px;overflow-y:auto;padding:4px}
.mention-item{padding:8px 12px;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px}
.mention-item.active,.mention-item:hover{background:#1a2340}
.mention-item .mention-name{font-size:13px;font-weight:500;color:#e5e9f5}
.mention-item .mention-coll{font-size:11px;color:#8a94b3}
.mention-loading,.mention-empty{padding:12px;color:#8a94b3;font-size:12px;text-align:center}

/* Mention chip in editor + read-only */
.mention, .rt-editor a.mention, .rt-render a.mention{
    display:inline-block;
    background:rgba(99,102,241,.18);
    color:#a5b4fc !important;
    padding:1px 6px;
    border-radius:4px;
    font-weight:500;
    text-decoration:none !important;
    border:0;
}
.mention:hover{background:rgba(99,102,241,.35);color:#c7d2fe !important}
/* ==================== Round 3 additions ==================== */

/* View toggle (Table / Gallery) */
.view-toggle{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}
.vt-btn{padding:7px 14px;font-size:12.5px;color:var(--muted);text-decoration:none;border-right:1px solid var(--border)}
.vt-btn:last-child{border-right:0}
.vt-btn:hover{background:var(--surface-2);color:var(--text)}
.vt-btn.active{background:var(--accent);color:#fff}

/* Gallery cards */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.gallery-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;transition:.2s;display:block}
.gallery-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 8px 24px rgba(0,0,0,.3)}
.gc-cover{aspect-ratio:4/3;background:var(--surface-2);position:relative;overflow:hidden}
.gc-cover img{width:100%;height:100%;object-fit:cover;display:block}
.gc-cover-placeholder{width:100%;height:100%;display:grid;place-items:center;color:rgba(255,255,255,.15)}
.gc-body{padding:12px 14px}
.gc-title{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gc-sub{color:var(--muted);font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Relationship graph */
.graph-legend{display:flex;flex-wrap:wrap;gap:24px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 16px;margin-bottom:12px}
.lg-section{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:12px}
.lg-label{color:var(--muted);font-weight:600;text-transform:uppercase;font-size:11px}
.lg-item{display:inline-flex;align-items:center;gap:6px;color:var(--text)}
.lg-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.lg-line{width:16px;height:3px;border-radius:2px;display:inline-block}

.graph-wrap{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.graph-wrap .canvas-viewport{height:calc(100vh - 320px);min-height:400px;border-radius:0}

.g-node{position:absolute;width:120px;padding:10px 12px;color:#fff;border-radius:10px;box-shadow:0 4px 12px rgba(0,0,0,.4);cursor:grab;user-select:none;text-decoration:none;display:block;text-align:center}
.g-node:active{cursor:grabbing}
.g-node:hover{transform:scale(1.05);box-shadow:0 6px 18px rgba(0,0,0,.5);z-index:5}
.g-node-name{font-weight:700;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}
.g-node-coll{font-size:10px;opacity:.85;margin-top:2px;color:#fff}
/* ==================== Round 4 additions ==================== */

/* Filter bar above kanban */
.filter-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:16px}
.filter-labels{display:flex;gap:4px;flex-wrap:wrap}
.lbl-pill{background:transparent;border:1.5px solid var(--lbl-c,#6366f1);color:var(--lbl-c,#6366f1);padding:3px 10px;border-radius:12px;font-size:11px;cursor:pointer;font-family:inherit;font-weight:500;transition:.15s}
.lbl-pill:hover{background:rgba(255,255,255,.05)}
.lbl-pill.active{background:var(--lbl-c,#6366f1);color:#fff}

/* Task cards enhancements */
.kc-cover{margin:-11px -13px 8px;height:110px;background:var(--surface-2);overflow:hidden;border-radius:8px 8px 0 0}
.kc-cover img{width:100%;height:100%;object-fit:cover;display:block}
.kc-labels{display:flex;gap:3px;flex-wrap:wrap;margin-bottom:6px}
.kc-label{padding:1px 8px;border-radius:10px;font-size:10px;font-weight:600;color:#fff;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}
.kc-checklist-bar{height:3px;background:var(--surface);border-radius:2px;overflow:hidden;margin:6px 0}
.kc-checklist-fill{height:100%;background:var(--success);transition:width .2s}

/* Column color strip */
.kanban-col-head{border-top-width:3px;border-top-style:solid}

/* Task cover header (task detail page) */
.task-cover-header{margin:-24px -32px 20px;max-height:280px;overflow:hidden;background:var(--surface-2)}
.task-cover-header img{width:100%;height:100%;max-height:280px;object-fit:cover;display:block}

/* Checklist styling */
.chk-bar{height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden}
.chk-fill{height:100%;background:var(--success);transition:width .2s}
.chk-item{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--border)}
.chk-item:last-child{border-bottom:0}
.chk-item input[type=checkbox]{cursor:pointer;width:16px;height:16px;flex-shrink:0}
.chk-text{flex:1;outline:none;padding:2px 4px;border-radius:4px}
.chk-text:focus{background:var(--surface-2)}
.chk-text.done{text-decoration:line-through;color:var(--muted)}
.chk-del{opacity:0;transition:.15s}
.chk-item:hover .chk-del{opacity:1}

/* Label picker modal */
.lbl-row{display:flex;align-items:center;gap:10px;padding:6px;border-radius:6px;cursor:pointer}
.lbl-row:hover{background:var(--surface-2)}
.lbl-row input{cursor:pointer}

/* Cover picker grid */
.cover-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;max-height:400px;overflow-y:auto}
.cover-tile{cursor:pointer;background:var(--surface-2);border:2px solid transparent;border-radius:8px;overflow:hidden;transition:.15s}
.cover-tile:hover{border-color:var(--accent);transform:scale(1.03)}
.cover-tile img{width:100%;height:80px;object-fit:cover;display:block}
.cover-tile-name{font-size:10px;padding:4px 6px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}

/* Column editor modal */
.col-row{display:flex;gap:6px;align-items:center;padding:6px 0}
.col-row input[type=color]{width:30px;height:30px;border:0;background:none;cursor:pointer;padding:0;border-radius:6px}
/* ==================== Round 4.1 additions ==================== */

/* Gallery cover — better for character portraits: show top (faces are usually there) */
.gc-cover{aspect-ratio:3/4}  /* portrait ratio, better for character photos */
.gc-cover img{object-position:center 25%}  /* bias upward so faces don't crop */

/* Record image gallery */
.rec-img-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}
.rec-img-tile{position:relative;background:var(--surface-2);border-radius:8px;overflow:hidden;aspect-ratio:1;border:2px solid transparent;transition:.15s}
.rec-img-tile:hover{border-color:var(--accent)}
.rec-img-tile.is-cover{border-color:var(--warn);box-shadow:0 0 0 2px rgba(245,158,11,.3)}
.rec-img-tile img{width:100%;height:100%;object-fit:cover;object-position:center 25%;display:block}
.rec-img-tile .cover-badge{position:absolute;top:6px;left:6px;background:var(--warn);color:#000;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.4)}
.rec-img-actions{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent, rgba(0,0,0,.85));padding:6px;display:flex;gap:4px;justify-content:center;opacity:0;transition:.15s}
.rec-img-tile:hover .rec-img-actions{opacity:1}
.rec-img-actions .btn{background:rgba(255,255,255,.15);color:#fff;border:0;padding:3px 8px;font-size:11px}
.rec-img-actions .btn:hover{background:rgba(255,255,255,.3)}
.rec-img-actions .btn-danger{background:rgba(239,68,68,.7)}
.rec-img-actions .btn-danger:hover{background:#ef4444}

.rec-dropzone{padding:20px !important}

/* Drag-drop file → folder */
.file-tile.is-dragging{opacity:.4}
.folder-tile{position:relative}
.folder-tile.drop-hover{border-color:var(--accent) !important;background:rgba(99,102,241,.15);transform:scale(1.03)}
.folder-tile.drop-hover::after{content:'⬇ Drop to move';position:absolute;inset:0;display:grid;place-items:center;background:rgba(99,102,241,.85);color:#fff;font-weight:700;border-radius:8px;pointer-events:none}
/* ==================== Round 5 additions ==================== */

/* Seeder cards */
.seeder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;margin-top:8px}
.seeder-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;flex-direction:column;border-top:4px solid var(--sc-color,#6366f1)}
.sc-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}
.sc-icon{font-size:38px;line-height:1;flex-shrink:0}
.sc-tagline{color:var(--muted);font-size:12.5px;margin-top:4px;line-height:1.5}
.sc-best-for{background:var(--surface-2);padding:8px 12px;border-radius:6px;font-size:12px;color:var(--muted);margin-bottom:12px}
.sc-best-for b{color:var(--text)}
.sc-creates{flex:1;margin-bottom:16px}
.sc-creates-label{font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:600;letter-spacing:.5px;margin-bottom:6px}
.sc-creates ul{margin:0;padding-left:18px;font-size:12.5px;line-height:1.7;color:var(--text)}
.sc-creates li{margin-bottom:2px}
.sc-form{margin-top:auto;padding-top:16px;border-top:1px solid var(--border)}
.sc-form label{display:block;margin-bottom:6px}

/* Calendar */
.cal-wrap{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border)}
.cal-head{background:var(--surface-2)}
.cal-day-head{background:var(--surface-2);padding:10px 8px;text-align:center;font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:600;letter-spacing:.5px}
.cal-day{background:var(--surface);min-height:110px;padding:6px;position:relative;overflow:hidden}
.cal-day-out{background:var(--surface-2);opacity:.4}
.cal-day-today{background:rgba(99,102,241,.08)}
.cal-day-today .cal-day-num{background:var(--accent);color:#fff;border-radius:50%;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-size:12px}
.cal-day-num{font-size:12px;color:var(--muted);font-weight:600;margin-bottom:4px}
.cal-item{display:block;background:var(--surface-2);border-left:3px solid var(--ci,#6366f1);padding:2px 6px;margin:2px 0;border-radius:3px;font-size:11px;color:var(--text);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}
.cal-item:hover{background:var(--ci,#6366f1);color:#fff}
.cal-more{font-size:10px;color:var(--muted);margin-top:2px;padding:1px 6px;font-style:italic}
/* ==================== Round 7: Canvas 2.0 ==================== */

/* Toolbar */
.cv-toolbar{display:flex;gap:0;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:6px;margin-bottom:8px;flex-wrap:wrap}
.cv-toolbar .tb-group{display:flex;gap:2px;padding:0 4px}
.cv-toolbar .tb-sep{width:1px;background:var(--border);align-self:stretch;margin:4px 4px}
.cv-toolbar .tb-spacer{flex:1}
.tb-btn{background:transparent;color:var(--text);border:0;padding:6px 10px;font-size:12.5px;border-radius:6px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:.12s;font-weight:500}
.tb-btn:hover{background:var(--surface-2)}
.tb-btn.tb-active{background:var(--accent);color:#fff}
.tb-btn.tb-primary{background:rgba(99,102,241,.15);color:#a5b4fc}
.tb-btn.tb-primary:hover{background:rgba(99,102,241,.3)}
.tb-btn.tb-danger{color:#fca5a5}
.tb-btn.tb-danger:hover{background:rgba(239,68,68,.15)}

.tb-dropdown{position:relative}
.tb-dropdown-menu{display:none;position:absolute;top:100%;left:0;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 20px rgba(0,0,0,.4);z-index:100;min-width:160px;margin-top:4px}
.tb-dropdown.open .tb-dropdown-menu{display:block}
.tb-dropdown-menu button{display:block;width:100%;text-align:left;background:transparent;color:var(--text);border:0;padding:8px 12px;font-size:13px;cursor:pointer;font-family:inherit}
.tb-dropdown-menu button:hover{background:var(--surface-2)}

/* Viewport */
.cv-viewport{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;height:calc(100vh - 250px);min-height:500px;outline:none;user-select:none}
.cv-viewport.cv-dropping{border-color:var(--accent);background:rgba(99,102,241,.06)}
.cv-viewport.cv-dropping::after{content:'⬇ Drop images to add';position:absolute;inset:20px;border:3px dashed var(--accent);border-radius:8px;display:grid;place-items:center;color:var(--accent-2);font-size:20px;font-weight:700;background:rgba(99,102,241,.08);z-index:1000;pointer-events:none}
.cv-grid{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.08) 1px,transparent 1px);background-size:20px 20px;pointer-events:none}
.cv-edges{position:absolute;inset:0;width:5000px;height:5000px;pointer-events:none;overflow:visible}
.cv-nodes{position:absolute;top:0;left:0;width:0;height:0}

/* Individual nodes */
.cv-node{position:absolute;background:var(--surface-2);border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.3);cursor:grab;user-select:none;overflow:hidden}
.cv-node:active{cursor:grabbing}
.cv-node.selected{outline:2px solid var(--accent);outline-offset:2px;z-index:2000 !important}
.cv-node-image{background:transparent;box-shadow:0 4px 14px rgba(0,0,0,.4)}
.cv-node-image img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.cv-source-badge{position:absolute;top:6px;right:6px;background:rgba(0,0,0,.7);color:#fff;font-size:11px;padding:2px 6px;border-radius:4px;text-decoration:none;cursor:pointer;z-index:5}
.cv-source-badge:hover{background:rgba(0,0,0,.9)}

.cv-node-sticky{padding:8px;box-shadow:0 3px 10px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.1) inset}
.cv-node-sticky .cv-text{color:#0f172a;font-weight:500;font-size:13px}
.cv-node-text{background:transparent;box-shadow:none;padding:4px}
.cv-node-text .cv-text{font-size:16px;font-weight:600}
.cv-node-rect,.cv-node-circle,.cv-node-diamond{display:flex;align-items:center;justify-content:center;color:#fff}
.cv-shape-text{color:#fff;font-weight:600;text-align:center;padding:4px 8px}
.cv-text{outline:none;width:100%;height:100%;overflow-wrap:break-word;overflow:hidden;cursor:text}
.cv-text:focus{background:rgba(255,255,255,.1);border-radius:3px}

.cv-node-swatch{border-radius:8px;box-shadow:0 3px 10px rgba(0,0,0,.4)}
.cv-swatch-label{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.7);color:#fff;font-size:10px;font-family:monospace;text-align:center;padding:2px}

/* Resize handle */
.cv-resize{position:absolute;bottom:-4px;right:-4px;width:14px;height:14px;background:var(--accent);border:2px solid var(--surface);border-radius:50%;cursor:se-resize;opacity:0;transition:.15s;z-index:10}
.cv-node:hover .cv-resize,.cv-node.selected .cv-resize{opacity:1}

/* Rubber band */
.cv-rubber{position:absolute;background:rgba(99,102,241,.15);border:1.5px dashed var(--accent);pointer-events:none;z-index:900}

/* Empty state hint */
.cv-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:var(--muted);pointer-events:none;max-width:400px}
.cv-hint kbd{background:var(--surface-2);border:1px solid var(--border);padding:1px 6px;border-radius:4px;font-size:11px}

/* Save status */
.cv-save-status{padding:2px 8px;border-radius:4px;background:var(--surface-2);font-size:11px;color:var(--muted)}
.cv-save-status.ok{background:rgba(16,185,129,.15);color:#6ee7b7}
.cv-save-status.err{background:rgba(239,68,68,.15);color:#fca5a5}
/* ==================== Round 7.1: Canvas rich text toolbar ==================== */

.cv-rt-bar{
    position:fixed;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:8px;
    box-shadow:0 8px 24px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.05) inset;
    padding:4px;
    display:flex;
    gap:1px;
    align-items:center;
    z-index:5000;
    transform:translate(-50%,-100%);
    animation:rt-pop .12s ease-out;
    white-space:nowrap;
}
@keyframes rt-pop{from{opacity:0;transform:translate(-50%,calc(-100% + 6px))}to{opacity:1;transform:translate(-50%,-100%)}}
.cv-rt-bar button{
    background:transparent;color:var(--text);border:0;
    padding:5px 8px;font-size:12.5px;border-radius:5px;
    cursor:pointer;font-family:inherit;line-height:1;
    min-width:26px;text-align:center;
}
.cv-rt-bar button:hover{background:var(--surface-2)}
.cv-rt-bar button:active{background:var(--accent);color:#fff}
.cv-rt-bar .rt-sep{width:1px;height:20px;background:var(--border);margin:0 3px;flex-shrink:0}
.cv-rt-bar input[type=color]{
    width:26px;height:26px;padding:0;border:1px solid var(--border);
    background:none;cursor:pointer;border-radius:4px;
}
.cv-rt-bar select{
    background:var(--surface-2);color:var(--text);
    border:1px solid var(--border);border-radius:4px;
    font-size:11px;padding:3px 4px;cursor:pointer;font-family:inherit;
}

/* Empty shape-text should still be clickable (for the double-click to focus) */
.cv-shape-text:empty::before{
    content:'';
    display:block;
    min-height:1em;
}

/* When shape-text is being edited, boost visibility */
.cv-shape-text:focus{
    background:rgba(0,0,0,.35) !important;
    border-radius:4px;
    padding:2px 4px;
}

/* Contentedit HTML content inside canvas text nodes */
.cv-text ul,.cv-text ol{margin:2px 0;padding-left:18px}
.cv-text li{margin:1px 0}
.cv-text b,.cv-text strong{font-weight:700}
.cv-text i,.cv-text em{font-style:italic}
.cv-text u{text-decoration:underline}
.cv-text s,.cv-text strike{text-decoration:line-through}
/* ==================== Round 7.2: Better swatch styling ==================== */

.cv-node-swatch{
    border-radius:10px;
    box-shadow:0 4px 14px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.08) inset;
    transition:transform .12s;
}
.cv-node-swatch:hover{
    transform:scale(1.04);
}
.cv-swatch-label{
    position:absolute;
    bottom:6px;left:6px;right:6px;
    background:rgba(0,0,0,.75);
    color:#fff;
    font-size:11px;
    font-family:'SF Mono','Menlo','Consolas',monospace;
    letter-spacing:.5px;
    text-align:center;
    padding:3px 4px;
    border-radius:4px;
    cursor:copy;
    backdrop-filter:blur(4px);
}
.cv-swatch-label:hover{
    background:rgba(0,0,0,.9);
}
.cv-swatch-label:hover::after{
    content:' 📋';
    opacity:.7;
    font-size:9px;
}
/* ==================== Round 8: Client Portal + Help ==================== */

/* Help page layout */
.help-grid{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start}
.help-nav{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px;position:sticky;top:16px}
.help-nav-item{display:block;padding:8px 12px;border-radius:6px;color:var(--text);text-decoration:none;font-size:13px;margin:2px 0}
.help-nav-item:hover{background:var(--surface-2)}
.help-nav-item.active{background:var(--accent);color:#fff}
.help-content{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:32px;line-height:1.7}
.help-content h2{margin-top:0;font-size:24px}
.help-content h3{margin-top:24px;font-size:15px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
.help-content ul,.help-content ol{padding-left:24px;line-height:1.8}
.help-content li{margin-bottom:4px}
.help-content code{background:var(--surface-2);padding:1px 6px;border-radius:4px;font-size:.9em}
.help-content kbd{background:var(--surface-2);border:1px solid var(--border);padding:1px 6px;border-radius:4px;font-size:.85em;font-family:monospace}
.help-content table td{padding:6px 12px}
@media(max-width:768px){
    .help-grid{grid-template-columns:1fr}
    .help-nav{position:static}
}

/* Client feedback cards on record page */
.fb-item{background:var(--surface-2);padding:12px 14px;border-radius:8px;margin-bottom:10px;border-left:3px solid var(--border)}
.fb-item.verdict-approved{border-left-color:var(--success)}
.fb-item.verdict-changes_requested{border-left-color:var(--danger)}
.fb-item.unseen{background:rgba(99,102,241,.08);box-shadow:0 0 0 1px rgba(99,102,241,.3)}
.fb-verdict{display:inline-block;font-size:10px;padding:1px 6px;border-radius:4px;font-weight:600;text-transform:uppercase;margin-left:8px}
.fb-verdict.approved{background:rgba(16,185,129,.2);color:#6ee7b7}
.fb-verdict.changes_requested{background:rgba(239,68,68,.2);color:#fca5a5}
.fb-verdict.feedback{background:rgba(148,163,184,.2);color:#94a3b8}

/* Share modal — field visibility list */
.share-field-list{max-height:200px;overflow-y:auto;background:var(--surface-2);padding:8px;border-radius:6px}
.share-field-row{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:4px;cursor:pointer;font-size:13px}
.share-field-row:hover{background:var(--surface)}
.share-field-row input{cursor:pointer}
.share-row{background:var(--surface-2);padding:12px;border-radius:8px;margin-bottom:10px}
/* ==================== Round 9: Global topbar (search + notifications) ==================== */

/* Reserve space for the fixed topbar so page content isn't hidden under it */
body { padding-top: 52px !important; }

.ap-topbar{position:fixed;top:0;left:0;right:0;height:52px;background:rgba(15,23,42,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;z-index:9000;gap:20px;color:var(--text);font-size:14px}
.ap-tb-left{display:flex;align-items:center;gap:18px}
.ap-tb-logo{color:var(--text);text-decoration:none;font-size:15px}
.ap-tb-link{color:var(--muted);text-decoration:none;font-weight:500;padding:6px 8px;border-radius:6px;font-size:13px}
.ap-tb-link:hover{background:var(--surface-2);color:var(--text)}
.ap-tb-right{display:flex;align-items:center;gap:12px}
.ap-tb-search{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);padding:6px 14px 6px 12px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:8px;font-family:inherit;font-size:12.5px;min-width:220px}
.ap-tb-search:hover{background:var(--surface);color:var(--text)}
.ap-tb-search kbd{background:var(--surface);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-size:10px;color:var(--muted);margin-left:auto;font-family:monospace}
.ap-tb-user{color:var(--muted);font-size:12.5px}
.ap-tb-user a{color:var(--accent-2);text-decoration:none;margin-left:4px}

/* Bell button */
.ap-tb-bell-wrap{position:relative}
.ap-tb-bell{background:var(--surface-2);border:1px solid var(--border);color:var(--text);width:36px;height:32px;border-radius:8px;cursor:pointer;position:relative;font-size:15px;font-family:inherit}
.ap-tb-bell:hover{background:var(--surface)}
.ap-bell-count{position:absolute;top:-4px;right:-4px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;padding:1px 5px;border-radius:8px;min-width:14px;text-align:center;line-height:1.4;border:2px solid var(--surface-2)}

/* Bell dropdown */
.ap-bell-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.5);width:400px;max-height:600px;display:flex;flex-direction:column;overflow:hidden;z-index:9500}
.ap-bell-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);font-size:13px}
.ap-bell-clear{background:transparent;color:var(--accent-2);border:0;font-size:12px;cursor:pointer;font-family:inherit}
.ap-bell-list{overflow-y:auto;max-height:500px}
.ap-bell-empty{padding:32px 20px;text-align:center;color:var(--muted);font-size:13px}
.ap-notif{display:flex;gap:12px;padding:12px 16px;text-decoration:none;color:var(--text);border-bottom:1px solid var(--border);transition:.15s}
.ap-notif:hover{background:var(--surface-2)}
.ap-notif.unread{background:rgba(99,102,241,.08);border-left:3px solid var(--accent)}
.ap-notif-icon{font-size:20px;line-height:1;flex-shrink:0;margin-top:2px}
.ap-notif-body{flex:1;min-width:0}
.ap-notif-title{font-size:13px;font-weight:600;line-height:1.4}
.ap-notif-sub{font-size:12px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ap-notif-time{font-size:11px;color:var(--muted);margin-top:4px}

/* Search modal */
.ap-search-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);z-index:9500;display:flex;justify-content:center;align-items:flex-start;padding-top:80px}
.ap-search-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:min(640px,90vw);max-height:70vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.ap-search-input{width:100%;background:transparent;border:0;color:var(--text);padding:20px 24px;font-size:16px;font-family:inherit;outline:none;border-bottom:1px solid var(--border)}
.ap-search-input::placeholder{color:var(--muted)}
.ap-search-results{overflow-y:auto;flex:1;padding:8px 0}
.ap-search-empty{padding:32px;text-align:center;color:var(--muted);font-size:14px}
.ap-search-item{display:flex;align-items:center;gap:12px;padding:10px 20px;text-decoration:none;color:var(--text);border-left:3px solid transparent}
.ap-search-item:hover,.ap-search-item.active{background:var(--surface-2);border-left-color:var(--accent)}
.ap-si-icon{font-size:20px;flex-shrink:0;width:32px;text-align:center}
.ap-si-body{flex:1;min-width:0}
.ap-si-title{font-size:14px;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ap-si-sub{font-size:12px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ap-si-type{font-size:10px;color:var(--muted);text-transform:uppercase;background:var(--surface-2);padding:2px 8px;border-radius:4px;letter-spacing:.5px}
.ap-search-footer{border-top:1px solid var(--border);padding:8px 20px;display:flex;gap:16px;font-size:11px;color:var(--muted)}
.ap-search-footer kbd{background:var(--surface-2);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-size:10px;margin-right:4px;font-family:monospace}

/* Hide old navigation duplicates if present (best-effort) */
@media(max-width:900px){
    .ap-tb-link,.ap-tb-user{display:none}
    .ap-tb-search{min-width:auto}
    .ap-tb-search span:nth-child(2){display:none}
}
