@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap");:root{--ink:#221e24;--ink-dim:#6e6870;--bg:#f3efea;--bg-panel:#fff;--bg-panel-raised:#faf7f3;--line:#e7dfd5;--line-bright:#d8cfc2;--accent:#9e1b22;--accent-dim:#7e141a;--on-accent:#fff;--steel:#a5772f;--good:#2e7d57;--good-line:#bfe0cd;--warn:#b07a1e;--warn-line:#e8d3a3;--info:#35608c;--info-line:#c3d5e8;--danger:#c0453b;--danger-line:#e6b8b1;--topbar-bg:hsla(33,27%,94%,.85);--font-display:"Space Grotesk",system-ui,sans-serif;--font-mono:"IBM Plex Mono",monospace}:root[data-theme=dark]{--ink:#efe9df;--ink-dim:#8c8894;--bg:#131217;--bg-panel:#1a181e;--bg-panel-raised:#211f26;--line:#302d35;--line-bright:#453f4d;--accent:#c17b4f;--accent-dim:#a5673d;--on-accent:#201810;--steel:#c9a26a;--good:#7a9b76;--good-line:#3f5540;--warn:#e0a26e;--warn-line:#6b5730;--info:#8fb0d0;--info-line:#3f5670;--danger:#e08a82;--danger-line:#6b3a36;--topbar-bg:rgba(19,18,23,.85)}*{box-sizing:border-box}body,html{padding:0;margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-display);-webkit-font-smoothing:antialiased}body{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px;background-position:-1px -1px;background-attachment:fixed;background-color:var(--bg);opacity:1}body:before{content:none}a{color:inherit;text-decoration:none}button,input{font-family:inherit}.dim-line{display:flex;align-items:center;gap:10px;color:var(--ink-dim);font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 18px}.dim-line:after,.dim-line:before{content:"";flex:1 1;height:1px;background:var(--line-bright);position:relative}.dim-line:before{background-image:linear-gradient(90deg,var(--line-bright) 0 6px,transparent 6px)}.container{max-width:1180px;margin:0 auto;padding:40px 28px 80px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;border-bottom:1px solid var(--line);background:var(--topbar-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:-webkit-sticky;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:baseline;gap:10px}.brand-mark{font-family:var(--font-mono);font-size:12px;color:var(--accent);border:1px solid var(--accent-dim);padding:3px 7px;border-radius:3px;letter-spacing:.06em}.brand-name{font-weight:600;font-size:18px;letter-spacing:-.01em}.brand-sub{font-family:var(--font-mono)}.brand-sub,.who{color:var(--ink-dim);font-size:13px}.who{display:flex;align-items:center;gap:14px}.who button{background:transparent;border:1px solid var(--line-bright);color:var(--ink-dim);padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:border-color .15s,color .15s}.who button:hover{border-color:var(--accent);color:var(--ink)}.who-link{color:var(--accent);text-decoration:none;font-size:12px;border:1px solid transparent;padding:6px 4px;transition:color .15s}.who-link:hover{text-decoration:underline}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:18px;gap:18px}.card{background:var(--bg-panel);border:1px solid var(--line);border-radius:6px;padding:16px 18px;position:relative;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit;cursor:pointer}.card:hover{border-color:var(--accent-dim);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.18)}.card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card-arrow{font-family:var(--font-mono);font-size:18px;color:var(--accent);opacity:.45;transition:opacity .15s,transform .15s;flex-shrink:0}.card:hover .card-arrow{opacity:1;transform:translateX(3px)}.card-tag{font-family:var(--font-mono);font-size:11px;color:var(--steel);letter-spacing:.05em;text-transform:uppercase}.card-title{font-size:17px;font-weight:600;margin:2px 0 0}.card-desc{font-size:13px;color:var(--ink-dim);line-height:1.5;flex:1 1}.skeleton{color:var(--ink-dim);font-family:var(--font-mono);font-size:12px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:360px;background:var(--bg-panel);border:1px solid var(--line);border-radius:6px;padding:32px}.login-title{font-size:20px;font-weight:600;margin:4px 0}.login-sub{color:var(--ink-dim);font-size:13px;margin-bottom:24px}.field{margin-bottom:16px}.field label{font-size:12px;color:var(--ink-dim);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em}.field input{background:var(--bg);border:1px solid var(--line-bright);border-radius:4px;padding:10px 12px;color:var(--ink);font-size:14px}.field input:focus{outline:none;border-color:var(--accent)}.login-submit{width:100%;background:var(--accent);color:var(--on-accent);font-weight:600;border:none;border-radius:4px;padding:11px;cursor:pointer;font-size:14px;margin-top:6px;transition:background .15s}.login-submit:hover{background:var(--accent-dim)}.login-error{color:var(--danger);font-size:13px;margin-bottom:14px;font-family:var(--font-mono)}.ink-dim{color:var(--ink-dim)}.mono{font-family:var(--font-mono)}.small{font-size:12px}.ghost-link{color:var(--ink-dim);font-size:13px;transition:color .15s}.ghost-link:hover{color:var(--accent)}.btn-accent{background:var(--accent);color:var(--on-accent);font-weight:600;border:none;border-radius:4px;padding:9px 16px;cursor:pointer;font-size:13px;transition:background .15s}.btn-accent:hover{background:var(--accent-dim)}.btn-accent:disabled{opacity:.5;cursor:default}.btn-ghost{background:transparent;border:1px solid var(--line-bright);color:var(--ink-dim);padding:6px 11px;border-radius:4px;cursor:pointer;font-size:12px;font-family:inherit;transition:border-color .15s,color .15s}.btn-ghost:hover{border-color:var(--accent);color:var(--ink)}.btn-ghost:disabled{opacity:.5;cursor:default}.btn-ghost.danger:hover{border-color:var(--danger);color:var(--danger)}.btn-ghost.on-ok{border-color:var(--good);color:var(--good)}.btn-ghost.on-warn{border-color:var(--warn);color:var(--warn)}.btn-danger{background:transparent;border:1px solid var(--danger-line);color:var(--danger);padding:8px 14px;border-radius:4px;cursor:pointer;font-size:13px}.btn-danger:hover{background:hsla(0,100%,75%,.08)}.ship-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:4px}.panel{background:var(--bg-panel);border:1px solid var(--line);border-radius:6px;padding:22px;margin:18px 0}.panel-title{font-size:15px;font-weight:600;margin:0 0 16px}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:14px;gap:14px;margin-bottom:14px}.field{display:flex;flex-direction:column;gap:6px;margin:0}.field-label,.field>span{font-size:12px;color:var(--ink-dim);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em}.field input,.field select,.field textarea{background:var(--bg);border:1px solid var(--line-bright);border-radius:4px;padding:9px 11px;color:var(--ink);font-size:14px;font-family:inherit;width:100%}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent)}.row-end{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.create-form{margin-top:18px}.empty-state{text-align:center;padding:60px 20px;color:var(--ink)}.empty-state p{margin:4px 0}.ship-table{margin-top:20px;border:1px solid var(--line);border-radius:6px;overflow:hidden}.ship-row{display:grid;grid-template-columns:90px 1.6fr 1.4fr 120px 110px 70px;grid-gap:12px;gap:12px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line);font-size:13px}.ship-row:last-child{border-bottom:none}.ship-row-head{background:var(--bg-panel);color:var(--ink-dim);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.ship-row-link{background:var(--bg-panel);transition:background .12s}.ship-row-link:hover{background:var(--bg-panel-raised)}.ship-title{font-weight:600}.docs-complete{color:var(--good)}.docs-partial{color:var(--warn)}.badge{font-family:var(--font-mono);font-size:11px;padding:3px 9px;border-radius:3px;border:1px solid var(--line-bright);color:var(--ink-dim);white-space:nowrap}.badge-planning{border-color:var(--line-bright);color:var(--ink-dim)}.badge-booked{border-color:var(--info-line);color:var(--info)}.badge-in-transit{border-color:var(--accent-dim);color:var(--accent)}.badge-arrived,.badge-customs{border-color:var(--warn-line);color:var(--warn)}.badge-cleared{border-color:var(--good-line);color:var(--good)}.badge-closed{border-color:var(--line-bright);color:var(--ink-dim)}.detail-title{font-size:22px;font-weight:600;margin:10px 0 0}.detail-title .mono{font-size:16px;margin-right:8px}.supplier-card{padding:18px 20px}.supplier-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.supplier-name{font-size:16px;font-weight:600}.supplier-actions{display:flex;gap:8px;flex-shrink:0}.supplier-toggle{display:flex;align-items:center;gap:10px;flex:1 1;min-width:0;padding:0;background:none;border:none;text-align:left;cursor:pointer;color:inherit;font:inherit}.supplier-toggle .caret{color:var(--ink-dim);font-size:12px;transition:transform .12s ease;flex-shrink:0}.supplier-toggle .caret.open{transform:rotate(90deg)}.supplier-toggle:hover .caret{color:var(--accent)}.supplier-contact{display:block}.supplier-doc-count{margin-left:auto;white-space:nowrap;flex-shrink:0}.doc-list{display:flex;flex-direction:column;gap:8px}.doc-row{gap:10px;padding:10px 12px;background:var(--bg);border:1px solid var(--line);border-radius:4px}.doc-main,.doc-row{display:flex;align-items:center;flex-wrap:wrap}.doc-main{gap:8px;flex:1 1;min-width:180px}.doc-type{font-weight:500;font-size:14px}.doc-file{flex:1 1 100%}.doc-link{color:var(--accent);font-size:13px;word-break:break-all}.doc-link:hover{text-decoration:underline}.doc-actions{display:flex;gap:6px;flex-shrink:0}.file-btn{display:inline-flex;align-items:center;cursor:pointer}.pill{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:3px;border:1px solid var(--line-bright);color:var(--ink-dim)}.pill-req{border-color:var(--accent-dim);color:var(--accent)}.pill-ok{border-color:var(--good-line);color:var(--good)}.pill-missing{border-color:var(--danger-line);color:var(--danger)}.pill-broker-cleared{border-color:var(--good-line);color:var(--good)}.pill-broker-query{border-color:var(--warn-line);color:var(--warn)}.broker-note{margin-top:6px;font-size:12px;color:var(--warn);font-style:italic}.add-doc-row{display:flex;gap:8px;margin-top:12px}.add-doc-row input{flex:1 1;background:var(--bg);border:1px solid var(--line-bright);border-radius:4px;padding:8px 11px;color:var(--ink);font-size:14px}.add-doc-row input:focus{outline:none;border-color:var(--accent)}.add-doc-btn{margin-top:12px}.add-supplier-btn{margin-top:6px}.checklist{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}.check{display:flex;align-items:center;gap:7px;font-size:13px;padding:7px 12px;border:1px solid var(--line);border-radius:4px;cursor:pointer;color:var(--ink-dim);transition:border-color .12s,color .12s}.check.on{border-color:var(--accent-dim);color:var(--ink)}.check input{accent-color:var(--accent)}.share-link-row{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.share-url{flex:1 1;min-width:220px;background:var(--bg);border:1px solid var(--line-bright);border-radius:4px;padding:8px 11px;color:var(--ink);font-family:var(--font-mono);font-size:12px}.broker-rollup{display:flex;gap:8px;margin:10px 0;flex-wrap:wrap}.share-security{margin:14px 0;border:1px solid var(--line);border-radius:6px;background:var(--bg-panel-raised)}.share-sec-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;flex-wrap:wrap}.share-sec-row+.share-sec-row{border-top:1px solid var(--line)}.share-sec-label{display:flex;flex-direction:column;gap:3px;min-width:200px}.share-sec-input{min-width:220px}.pw-set input,select.share-sec-input{background:var(--bg);border:1px solid var(--line-bright);border-radius:4px;padding:7px 10px;color:var(--ink);font-size:13px}.pw-set{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.pw-set input{flex:1 1;min-width:150px}.pw-set input:focus,select.share-sec-input:focus{outline:none;border-color:var(--accent)}.access-log{margin:12px 0}.access-log summary{cursor:pointer;color:var(--ink-dim);font-size:13px}.access-log-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.access-log-list li{display:grid;grid-template-columns:120px 1fr auto;grid-gap:10px;gap:10px;align-items:center;padding:5px 8px;border-radius:4px;font-size:13px}.access-log-list li:nth-child(odd){background:var(--bg-panel-raised)}.access-log-list li.log-warn{color:var(--warn)}.shares-list{display:flex;flex-direction:column;gap:12px;margin-top:20px}.share-item.is-expired{border-color:var(--danger-line)}.share-item-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.share-item-ref{font-weight:600;color:var(--ink);text-decoration:none}.share-item-ref:hover{color:var(--accent)}.share-item-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.share-item-meta{text-align:right}.share-item-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.danger-zone{margin:40px 0 20px;padding-top:20px;border-top:1px dashed var(--line)}.broker-page{min-height:100vh}.broker-topbar{justify-content:space-between;padding:18px 28px;border-bottom:1px solid var(--line);background:var(--topbar-bg)}.broker-topbar,.broker-wrap{display:flex;align-items:center}.broker-wrap{min-height:100vh;justify-content:center;padding:24px}.broker-card{width:100%;max-width:400px;background:var(--bg-panel);border:1px solid var(--line);border-radius:6px;padding:32px;text-align:center}.broker-meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:14px;gap:14px;margin:18px 0 26px}.broker-meta-item{display:flex;flex-direction:column;gap:4px;font-size:14px}.broker-doc-row{flex-direction:column;align-items:stretch}.broker-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.note-box{display:flex;gap:6px;flex:1 1;min-width:200px}.note-box input{flex:1 1;background:var(--bg-panel);border:1px solid var(--line-bright);border-radius:4px;padding:6px 10px;color:var(--ink);font-size:13px}.note-box input:focus{outline:none;border-color:var(--accent)}.broker-footer{margin:30px 0;text-align:center}@media (max-width:720px){.ship-row{grid-template-columns:70px 1fr 80px}.ship-row span:nth-child(3),.ship-row span:nth-child(5){display:none}}.board-page{width:100%}.board-scroll{overflow-x:auto;padding:20px 24px 40px}.board-table{border-collapse:separate;border-spacing:0;font-size:13px}.board-table td,.board-table th{padding:0}.board-table .col-name{width:260px;min-width:260px}.board-table .col-cell{width:156px;min-width:156px}.board-table .col-add{width:52px;min-width:52px}.board-table thead th{background:var(--bg-panel);border-bottom:1px solid var(--line-bright);border-right:1px solid var(--line);vertical-align:middle}.board-table thead th.col-name{border-left:1px solid var(--line);border-top-left-radius:6px}.col-head{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:9px 10px;position:relative}th.col-name{padding:9px 12px}.col-title,th.col-name{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dim)}.col-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default}.col-menu-btn{background:none;border:none;color:var(--ink-dim);cursor:pointer;font-size:15px;line-height:1;padding:0 3px;opacity:.3;transition:opacity .12s,color .12s}.group-head:hover .col-menu-btn,th:hover .col-menu-btn{opacity:1}.col-menu-btn:hover{color:var(--accent);opacity:1}.board-table td.col-name,.board-table th.col-name{position:-webkit-sticky;position:sticky;left:0;background:var(--bg-panel);z-index:2}.board-table thead th.col-name{z-index:4}.board-table td.col-name{z-index:1}.col-menu{position:absolute;top:100%;right:0;margin-top:4px;min-width:160px;background:var(--bg-panel);border:1px solid var(--line-bright);border-radius:6px;box-shadow:0 6px 20px rgba(0,0,0,.22);z-index:50;padding:4px;display:flex;flex-direction:column;gap:2px}.col-menu button{text-align:left;background:none;border:none;color:var(--ink);padding:8px 10px;font-size:13px;font-family:inherit;cursor:pointer;border-radius:4px}.col-menu button:hover{background:var(--bg-panel-raised)}.col-menu button.danger{color:var(--danger)}.group-colors,.swatch-palette{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:4px;gap:4px;padding:6px 8px}.group-head{display:flex;align-items:center;gap:8px;padding:12px 12px 8px;position:relative}.group-caret{cursor:pointer;font-size:11px;width:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.group-bar{width:8px;height:8px;border-radius:2px;flex-shrink:0}.group-title{font-weight:700;font-size:14px;cursor:default}.group-count{color:var(--ink-dim);font-family:var(--font-mono);font-size:11px;background:var(--bg-panel-raised);padding:1px 8px;border-radius:10px}.board-table td.col-cell{border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.item-row:hover td.col-name{background:var(--bg-panel-raised)}.bcell{display:flex;align-items:center;height:38px;padding:0 10px;cursor:pointer;overflow:hidden}.bcell-input{width:100%;height:38px;border:1px solid var(--accent);border-radius:0;padding:0 9px;background:var(--bg);color:var(--ink);font-size:13px;font-family:inherit}.bcell-input:focus{outline:none}.cell-empty{color:var(--ink-dim);opacity:.4}.num-cell{justify-content:flex-end;font-family:var(--font-mono)}.text-cell span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.name-cell{display:flex;align-items:center;justify-content:space-between;padding-right:6px}.name-cell .bcell{flex:1 1;font-weight:500}.row-grip{cursor:-webkit-grab;cursor:grab;color:var(--ink-dim);opacity:0;font-size:13px;line-height:1;padding:0 2px 0 4px;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.item-row:hover .row-grip{opacity:.5}.row-grip:hover{opacity:1!important;color:var(--accent)}.row-grip:active{cursor:-webkit-grabbing;cursor:grabbing}.row-dragging{opacity:.4}.row-drop-before td{box-shadow:inset 0 2px 0 0 var(--accent)}.row-del{background:none;border:none;color:var(--ink-dim);cursor:pointer;font-size:12px;padding:0 4px;opacity:0;transition:opacity .12s,color .12s}.item-row:hover .row-del{opacity:.55}.row-del:hover{color:var(--danger);opacity:1}.status-cell{justify-content:center;text-align:center;position:relative;font-weight:500}.status-text{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-menu{position:absolute;top:100%;left:0;min-width:168px;background:var(--bg-panel);border:1px solid var(--line-bright);border-radius:6px;box-shadow:0 6px 20px rgba(0,0,0,.22);z-index:50;padding:6px;display:flex;flex-direction:column;gap:4px}.status-opt{border:none;border-radius:4px;padding:7px 10px;cursor:pointer;font-size:12px;font-family:inherit;color:#fff}.status-opt.status-clear{background:var(--bg-panel-raised);color:var(--ink-dim);border:1px solid var(--line)}.status-edit{background:none;border:none;border-top:1px solid var(--line);color:var(--ink-dim);cursor:pointer;font-size:12px;padding:8px 4px 4px;margin-top:2px;font-family:inherit}.status-edit:hover{color:var(--accent)}.date-chip{display:inline-block;padding:3px 8px;border-radius:4px;font-family:var(--font-mono);font-size:12px;color:#fff;font-weight:500}.date-overdue{background:#d83b3b}.date-soon{background:#c07f16}.date-upcoming{background:#16a34a}.add-item-btn{background:none;border:none;color:var(--ink-dim);cursor:pointer;font-size:13px;padding:9px 12px;width:100%;text-align:left;font-family:inherit}.add-item-btn:hover{color:var(--accent)}.add-item-row td{border-bottom:1px solid var(--line)}.add-group-btn{margin:16px 0 40px}.col-add{text-align:center}.add-col-btn{background:none;border:1px dashed var(--line-bright);border-radius:4px;color:var(--ink-dim);width:28px;height:28px;cursor:pointer;font-size:16px;line-height:1}.add-col-btn:hover{border-color:var(--accent);color:var(--accent)}.add-col-form{display:flex;flex-direction:column;gap:6px;padding:8px;min-width:170px}.add-col-form input,.add-col-form select{background:var(--bg);border:1px solid var(--line-bright);border-radius:4px;padding:6px 8px;color:var(--ink);font-size:13px;font-family:inherit}.add-col-actions{display:flex;gap:6px}.add-col-actions .btn-accent{padding:6px 12px}.modal-backdrop{background:rgba(0,0,0,.45);z-index:60}.label-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:61;width:400px;max-width:92vw;background:var(--bg-panel);border:1px solid var(--line-bright);border-radius:8px;padding:22px;box-shadow:0 12px 40px rgba(0,0,0,.35)}.label-modal-title{font-size:15px;font-weight:600;margin-bottom:16px}.label-rows{display:flex;flex-direction:column;gap:8px}.label-row{display:flex;align-items:center;gap:8px;position:relative}.label-input{flex:1 1;height:34px;border-color:var(--line-bright)}.label-input:focus{border-color:var(--accent)}.swatch{width:26px;height:26px;border-radius:5px;border:1px solid rgba(0,0,0,.25);cursor:pointer;flex-shrink:0;padding:0}.swatch-palette{position:absolute;top:32px;left:0;z-index:5;background:var(--bg-panel);border:1px solid var(--line-bright);border-radius:6px;box-shadow:0 6px 20px rgba(0,0,0,.25)}.popover-backdrop{position:fixed;inset:0;z-index:40}.board-list-row{grid-template-columns:90px 1.8fr 90px 90px 90px}.board-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 24px;border-bottom:1px solid var(--line);background:var(--bg-panel)}.view-toggle{display:flex;border:1px solid var(--line-bright);border-radius:6px;overflow:hidden}.view-toggle button{background:transparent;border:none;color:var(--ink-dim);padding:7px 13px;cursor:pointer;font-size:13px;font-family:inherit}.view-toggle button.on{background:var(--accent);color:var(--on-accent)}.board-search{background:var(--bg);border:1px solid var(--line-bright);border-radius:6px;padding:8px 12px;color:var(--ink);font-size:13px;min-width:180px;font-family:inherit}.board-search:focus{outline:none;border-color:var(--accent)}.toolbar-select{display:flex;align-items:center;gap:6px}.toolbar-select span{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;font-size:11px;color:var(--ink-dim)}.toolbar-select select{background:var(--bg);border:1px solid var(--line-bright);border-radius:6px;padding:7px 8px;color:var(--ink);font-size:13px;font-family:inherit}.toolbar-count{margin-left:auto;font-family:var(--font-mono);font-size:12px;color:var(--ink-dim)}.filter-wrap{position:relative}.filter-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:50;background:var(--bg-panel);border:1px solid var(--line-bright);border-radius:8px;box-shadow:0 8px 28px rgba(0,0,0,.25);padding:12px;min-width:220px;display:flex;flex-direction:column;gap:3px}.filter-opt{display:flex;align-items:center;gap:8px;background:none;border:none;color:var(--ink);padding:7px 8px;border-radius:4px;cursor:pointer;font-size:13px;font-family:inherit;text-align:left}.filter-opt.on,.filter-opt:hover{background:var(--bg-panel-raised)}.filter-opt .swatch{width:16px;height:16px;border-radius:4px}.filter-opt .tick{margin-left:auto;color:var(--good)}.share-menu{min-width:260px}.share-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:13px}.share-menu .share-url{width:100%;min-width:0}.group-summary td{border-bottom:1px solid var(--line);background:var(--bg-panel)}.summary-name{font-family:var(--font-mono);font-size:11px;color:var(--ink-dim);padding:7px 12px!important;text-transform:uppercase;letter-spacing:.04em}.summary-cell{padding:8px 10px}.summary-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--line)}.summary-seg{min-width:3px}.summary-sum{font-family:var(--font-mono);font-size:12px;color:var(--ink-dim)}.kanban-scroll{display:flex;gap:14px;overflow-x:auto;padding:18px 24px 40px;align-items:flex-start}.kanban-col{flex:0 0 260px;width:260px;background:var(--bg-panel);border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column}.kanban-col.kanban-over{border-color:var(--accent)}.kanban-col-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-top:3px solid var(--line-bright);border-bottom:1px solid var(--line);border-radius:8px 8px 0 0}.kanban-col-title{font-weight:700;font-size:13px}.kanban-cards{display:flex;flex-direction:column;gap:8px;padding:10px;min-height:40px}.kanban-card{background:var(--bg-panel-raised);border:1px solid var(--line);border-radius:6px;padding:10px 12px;cursor:-webkit-grab;cursor:grab}.kanban-card:active{cursor:-webkit-grabbing;cursor:grabbing}.kanban-card-name{font-weight:500;font-size:13px;margin-bottom:6px}.kanban-card-chips{display:flex;flex-wrap:wrap;gap:4px}.kanban-chip{font-size:11px;color:#fff;padding:2px 7px;border-radius:4px;white-space:nowrap}.kanban-chip-date{background:var(--bg-panel);color:var(--ink-dim);border:1px solid var(--line-bright);font-family:var(--font-mono)}.kanban-empty{color:var(--ink-dim);opacity:.4;text-align:center;padding:12px;font-size:13px}.theme-toggle{position:fixed;bottom:18px;right:18px;z-index:60;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-bright);background:var(--bg-panel);color:var(--ink);font-size:16px;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 2px 12px rgba(0,0,0,.18);transition:border-color .15s,color .15s}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}@media print{.theme-toggle{display:none}}.rem-list-row{grid-template-columns:84px 1.6fr 1.1fr 88px 118px 1fr 60px}.pill.prio-low{border-color:var(--line-bright);color:var(--ink-dim)}.pill.prio-medium{border-color:var(--accent-dim);color:var(--accent)}.pill.prio-high{border-color:var(--warn-line);color:var(--warn)}.pill.prio-urgent{border-color:var(--danger-line);color:var(--danger)}.pill.status-open{border-color:var(--accent-dim);color:var(--accent)}.pill.status-awaiting-parts,.pill.status-in-progress{border-color:var(--warn-line);color:var(--warn)}.pill.status-resolved{border-color:var(--good-line);color:var(--good)}.pill.status-closed{border-color:var(--line-bright);color:var(--ink-dim)}.panel-h{margin:0 0 14px;font-size:14px;font-weight:600;color:var(--ink)}.btn-ghost-danger{background:transparent;border:1px solid var(--danger-line);color:var(--danger);padding:8px 14px;border-radius:6px;cursor:pointer;font-family:inherit;font-size:13px;flex-shrink:0}.btn-ghost-danger:hover{background:var(--danger);color:#fff}.btn-ghost-danger:disabled{opacity:.5;cursor:default}.rem-title{margin:4px 0 8px;font-size:22px}.rem-badges{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rem-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-top:16px}@media (max-width:860px){.rem-grid{grid-template-columns:1fr}}.rem-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:12px;gap:12px;margin-top:12px}.rem-photo{border:1px solid var(--line-bright);border-radius:8px;overflow:hidden;background:var(--bg-panel-raised)}.rem-photo img{display:block;width:100%;height:130px;object-fit:cover}.rem-photo-file{justify-content:center;height:130px;padding:10px;color:var(--accent);text-align:center;font-size:13px;word-break:break-word}.rem-photo-bar,.rem-photo-file{display:flex;align-items:center}.rem-photo-bar{gap:6px;padding:6px 8px;border-top:1px solid var(--line)}.rem-photo-bar span{flex:1 1;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-x{background:transparent;border:none;color:var(--ink-dim);cursor:pointer;font-size:13px;padding:2px 4px;border-radius:3px}.icon-x:hover{color:var(--danger)}.icon-x:disabled{opacity:.4;cursor:default}.rem-log{list-style:none;margin:0;padding:0}.rem-log li{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-top:1px solid var(--line)}.rem-log li:first-child{border-top:none}.rem-log-meta{font-size:11px}.rem-log-text{font-size:14px;color:var(--ink)}