:root{--bg:#f5f6f8;--panel:#fff;--border:#e2e5eb;--text:#1f2430;--muted:#6b7280;--accent:#2f6feb;--accent-soft:#e8effd;--danger:#d64545;--ok:#1f9254;font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}#root{min-height:100vh}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{color:#fff;background:#1c2333;justify-content:space-between;align-items:center;padding:10px 20px;display:flex}.brand{font-size:15px;font-weight:600}.role-switch{align-items:center;gap:10px;display:flex}.role-switch select{border:none;border-radius:6px;padding:4px 8px}.role-badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.body{flex:1;min-width:0;display:flex}.sidebar{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;width:240px;padding:14px 0;display:flex}.nav-item{color:var(--text);border-left:3px solid #0000;padding:9px 18px;font-size:13.5px;text-decoration:none}.nav-item:hover{background:var(--accent-soft)}.nav-item.active{border-left-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.content{text-align:left;flex:1;min-width:0;max-width:1200px;padding:22px 28px}h1{letter-spacing:normal;margin:0 0 16px;font-size:20px;font-weight:600}h2{letter-spacing:normal;margin:22px 0 10px;font-size:16px;font-weight:600}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;min-width:0;margin-bottom:16px;padding:16px;overflow-x:auto}table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:13px}th,td{border-bottom:1px solid var(--border);text-align:left;white-space:normal;overflow-wrap:break-word;word-break:break-word;padding:7px 9px}td input,td select{width:100%}th{color:var(--muted);background:#f0f2f6;font-weight:600}tr:hover td{background:#fafbfd}.group-row td{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;background:#f0f2f6;font-size:12px;font-weight:600}.group-row:hover td{background:#f0f2f6}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}input,select,textarea{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:6px;padding:6px 9px;font-size:13px}textarea{width:100%;font-family:inherit}button{border:1px solid var(--border);cursor:pointer;color:var(--text);background:#fff;border-radius:6px;padding:7px 14px;font-size:13px}button:hover{border-color:var(--accent);color:var(--accent)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{opacity:.92;color:#fff}button.danger{color:var(--danger);border-color:var(--danger)}button:disabled{opacity:.5;cursor:not-allowed}.grid-form{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 16px;min-width:0;display:grid}.grid-form.cols-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.field{min-width:0}.field input,.field select,.field textarea{width:100%}.field{flex-direction:column;gap:4px;display:flex}.field label{color:var(--muted);font-size:12px}.section-title{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:18px 0 8px;font-size:13px;font-weight:600}.badge{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge.ok{color:var(--ok);background:#e5f6ec}.badge.warn{color:var(--danger);background:#fdeeee}.kpi-row{flex-wrap:wrap;gap:14px;display:flex}.kpi{background:var(--panel);border:1px solid var(--border);border-radius:10px;min-width:160px;padding:14px 18px}.kpi .value{font-size:22px;font-weight:700}.kpi .label{color:var(--muted);font-size:12px}.muted{color:var(--muted)}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.col-filter-th{position:relative}.col-filter-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.col-filter-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:11px;line-height:1}.col-filter-btn:hover{color:var(--accent);border-color:#0000}.col-filter-btn.active{color:var(--accent);font-weight:700}.col-filter-popover{z-index:20;background:var(--panel);border:1px solid var(--border);text-transform:none;white-space:normal;border-radius:8px;width:220px;padding:8px;font-weight:400;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #14192826}.col-filter-popover input{width:100%;margin-bottom:6px}.col-filter-actions{justify-content:space-between;margin-bottom:6px;font-size:12px;display:flex}.col-filter-list{flex-direction:column;gap:2px;max-height:220px;display:flex;overflow-y:auto}.col-filter-list label{color:var(--text);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:3px 4px;font-size:12.5px;font-weight:400;display:flex}.col-filter-list label:hover{background:var(--accent-soft)}.col-filter-list input[type=checkbox]{margin:0}.section-block{border:1px solid var(--border);background:#fafbfd;border-radius:10px;margin-bottom:18px;padding:16px 18px 18px}.section-block .section-title{margin-top:0}.section-block.tone-blue{background:#f2f6ff;border-color:#d7e4fb}.section-block.tone-violet{background:#f8f5ff;border-color:#e2d7fb}.field.computed input,.field.computed select{color:#274b8a;background:#eaf1fd;border-color:#cfe0fa;font-weight:600}td.computed-cell{color:#274b8a;background:#eaf1fd;font-weight:600}.share-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:4px;display:grid}.share-card{border:1px solid var(--border);border-top:3px solid var(--border);background:#fff;border-radius:10px;padding:12px 14px}.share-card .share-role{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;margin-bottom:10px;padding:2px 9px;font-size:11px;font-weight:700;display:inline-block}.share-card .field{margin-bottom:8px}.share-card .field:last-child{margin-bottom:0}.share-card.curator{border-top-color:#2f6feb}.share-card.curator .share-role{color:#2f6feb;background:#e8effd}.share-card.manager{border-top-color:#12866f}.share-card.manager .share-role{color:#12866f;background:#e3f6f0}.share-card.manager2{border-top-color:#7c3aed}.share-card.manager2 .share-role{color:#7c3aed;background:#f1eafd}.share-card.bureau{border-top-color:#c07a12}.share-card.bureau .share-role{color:#a6690e;background:#fdf1de}.share-card.add-manager2{background:0 0;border-style:dashed;border-top-width:1px;justify-content:center;align-items:center;display:flex}.error-banner{color:var(--danger);background:#fdeeee;border:1px solid #f6c9c9;border-radius:8px;margin-bottom:14px;padding:10px 14px;font-size:13px}
