:root {
  --navy:#172238; --blue:#2f67ee; --line:#d7deea; --text:#172033; --muted:#68758b;
  --orange-row:#fff5e8; --orange-row-2:#ffead1; --blue-row:#edf6ff; --blue-row-2:#dbeeff;
  --footer:54px; --header:64px; --toolbar:42px;
}
*{box-sizing:border-box} html,body{height:100%;margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--text);background:#f5f7fb}
button,input{font:inherit} button{cursor:pointer;border:1px solid #ccd4e1;background:#fff;border-radius:7px;padding:8px 12px;color:var(--text)}
button:hover{border-color:#91a1ba;background:#f8faff}.primary{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:650}.primary:hover{background:#2456cb}
.hidden{display:none!important}.muted{color:var(--muted);font-size:12px;margin-left:10px}.error{min-height:22px;color:#b42318;font-size:13px}
.login-shell{min-height:100%;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#152239,#2e4968)}
.login-card{width:min(420px,100%);background:#fff;border-radius:18px;padding:34px;box-shadow:0 25px 70px #07111f66;display:grid;gap:14px}
.login-card h1{margin:2px 0 0}.login-card p{margin:0 0 8px;color:var(--muted)}.login-card label{font-size:13px;font-weight:650;display:grid;gap:6px}.login-card input{padding:11px;border:1px solid #bdc7d6;border-radius:8px}
.brand-mark{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#ce7d30;color:#fff;font-weight:800;box-shadow:inset 0 0 0 4px #ffffff35}.brand-mark.small{width:34px;height:34px;border-radius:9px;font-size:12px}
.app{height:100%;display:grid;grid-template-rows:var(--header) var(--toolbar) 1fr var(--footer);overflow:hidden}
.topbar{display:grid;grid-template-columns:minmax(180px,280px) minmax(260px,760px) minmax(180px,1fr);align-items:center;gap:18px;padding:10px 18px;background:var(--navy);color:#fff;z-index:30}
.brand{display:flex;align-items:center;gap:10px}.search-wrap{position:relative}.search-wrap input{width:100%;padding:11px 90px 11px 16px;border:0;border-radius:9px;outline:2px solid transparent}.search-wrap input:focus{outline-color:#74a0ff}.search-busy{position:absolute;right:14px;top:12px;color:var(--muted);font-size:12px}
.account{justify-self:end;position:relative}.account-button{background:#ffffff12;color:#fff;border-color:#ffffff22}.account-menu{position:absolute;right:0;top:43px;width:230px;background:#fff;color:var(--text);padding:12px;border:1px solid var(--line);border-radius:9px;box-shadow:0 14px 36px #0a193033;z-index:60}.account-menu div{font-size:13px;word-break:break-all;margin-bottom:10px}.account-menu button{width:100%}
.toolbar{display:flex;align-items:center;justify-content:space-between;padding:4px 16px;background:#fff;border-bottom:1px solid var(--line);z-index:20}
.table-scroll{overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;scrollbar-gutter:stable;background:#fff;position:relative}
table{border-collapse:separate;border-spacing:0;min-width:100%;width:max-content;font-size:13px}thead{position:sticky;top:0;z-index:15;background:#eef2f8}th{height:44px;min-width:150px;max-width:320px;border-right:1px solid var(--line);border-bottom:2px solid #b9c5d6;padding:0;background:#eef2f8;text-align:left;white-space:normal}th.image-col{min-width:80px;width:80px;position:sticky;left:0;z-index:18}th.identity-1{position:sticky;left:80px;z-index:17}
.head-inner{display:grid;grid-template-columns:1fr 30px;height:100%;align-items:stretch}.sort-button{border:0;border-radius:0;background:transparent;padding:5px 8px;text-align:left;font-weight:700;line-height:1.1}.filter-button{border:0;border-left:1px solid #d5dce7;border-radius:0;background:transparent;padding:0}.filter-active{background:#f5c1bc!important;color:#8f1d16}.sort-mark{font-size:11px;margin-left:4px}
td{min-width:150px;max-width:320px;height:48px;border-right:1px solid #dce2eb;border-bottom:1px solid #dce2eb;padding:6px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;position:relative}td.image-col{min-width:80px;width:80px;text-align:center;position:sticky;left:0;z-index:4}td.identity-1{position:sticky;left:80px;z-index:3;font-weight:650}
tr.tone-orange td{background:var(--orange-row)}tr.tone-blue td{background:var(--blue-row)}tr.tone-orange td.image-col,tr.tone-orange td.identity-1{background:var(--orange-row-2)}tr.tone-blue td.image-col,tr.tone-blue td.identity-1{background:var(--blue-row-2)}
.thumb{width:38px;height:38px;object-fit:contain;border:1px solid #c9d2df;border-radius:5px;background:#fff;display:block;margin:auto}.no-image{color:#98a2b3;font-size:11px}
.copyable{cursor:copy}.copyable:hover{outline:2px solid #78a4ff;outline-offset:-2px}.edit-button{float:right;border:0;background:transparent;padding:1px 3px;color:#3967b3}.cell-editor{width:calc(100% - 4px);padding:5px;border:2px solid #2f67ee;border-radius:4px;background:#fff}
.proposal-row td{height:38px;font-size:12px;font-weight:650;border-bottom:2px solid #d39b5e}.proposal-label{color:#7a4615}.proposal-value{display:flex;align-items:center;gap:5px;color:#17529e;white-space:normal}.status-chip{font-size:9px;text-transform:uppercase;padding:2px 4px;border-radius:4px;background:#fff;border:1px solid #9eb5d2;color:#4b5f78}
.filter-popover{position:fixed;z-index:80;width:min(390px,calc(100vw - 20px));max-height:min(620px,calc(100vh - 90px));display:grid;grid-template-rows:auto auto auto 1fr auto;background:#fff;border:1px solid #b8c3d3;border-radius:10px;box-shadow:0 20px 55px #0e1c3340;padding:12px;gap:8px}.filter-popover h3{font-size:14px;margin:0}.filter-popover input[type=search]{width:100%;padding:8px;border:1px solid #bbc6d5;border-radius:6px}.filter-actions{display:flex;gap:6px}.filter-actions button{flex:1;padding:6px}.filter-values{overflow:auto;border:1px solid #d8dee8;border-radius:5px;padding:4px}.filter-values label{display:flex;gap:7px;align-items:center;padding:5px;border-bottom:1px solid #eef1f5;white-space:normal}.filter-values small{color:var(--muted)}.filter-footer{display:flex;gap:8px}.filter-footer button{flex:1}
.statusbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:6px 16px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -5px 18px #1d2b4220;z-index:25;font-size:13px}.statusbar #draftText{text-align:right}.statusbar .primary{min-width:270px}
.modal{position:fixed;inset:0;background:#07111fd9;z-index:100;display:grid;place-items:center;padding:48px}.modal img{max-width:min(1000px,94vw);max-height:86vh;object-fit:contain;background:#fff;border-radius:12px;box-shadow:0 20px 70px #000}.modal-close{position:absolute;right:22px;top:18px;width:42px;height:42px;font-size:28px;padding:0;border-radius:50%}.toast{position:fixed;right:20px;bottom:72px;z-index:120;background:#172238;color:#fff;padding:11px 16px;border-radius:8px;box-shadow:0 8px 25px #0003}.sentinel{height:1px}
@media(max-width:760px){:root{--header:112px;--toolbar:40px}.topbar{grid-template-columns:1fr auto;grid-template-rows:44px 48px;padding:8px 10px;gap:4px 8px}.brand strong{font-size:14px}.search-wrap{grid-column:1/-1;grid-row:2}.account{grid-column:2;grid-row:1}.account-button{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar{padding:3px 9px;font-size:12px}.toolbar .muted{display:none}.statusbar{grid-template-columns:1fr 1fr;padding:5px 8px}.statusbar .primary{grid-column:1/-1;grid-row:1;min-width:0;padding:7px}.statusbar #countText{grid-row:2}.statusbar #draftText{grid-row:2}.modal{padding:18px}th{min-width:132px}td{min-width:132px}.account-menu{right:-2px}}
