:root{--blue:#0077bb;--red:#ee0044;--navy:#102c57;--ink:#17232c;--muted:#64727c;--line:#cbd7de;--pale:#f3f7f9;--saved:#dff4e9}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:13px Roboto,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#fff}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #d8e3e9;position:sticky;top:0;background:#fff;z-index:6;box-shadow:0 2px 10px rgba(16,44,87,.06)}.site-header:after{content:"";position:absolute;right:0;bottom:-3px;left:0;height:3px;background:linear-gradient(90deg,var(--blue) 0 92%,var(--red) 92% 100%)}.brand{display:flex;align-items:center;gap:23px;min-width:0}.brand-logo{display:flex;align-items:center;flex:none}.brand-logo img{display:block;width:144px;height:auto;max-height:39px}.header-context{display:grid;gap:3px;padding-left:22px;border-left:1px solid #cfdae1}.header-context span{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--blue)}.header-context h1{margin:0;color:var(--navy);font-size:20px;font-weight:600;line-height:1.1}.header-status{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.status-dot{width:8px;height:8px;border-radius:50%;background:#3ea8e5;box-shadow:0 0 0 3px #eaf5fb}#status{font-size:12px;color:var(--muted)}.controls{display:flex;align-items:center;gap:10px;padding:10px 18px;background:var(--pale);border-bottom:1px solid var(--line);position:sticky;top:76px;z-index:5}.controls label{display:flex;align-items:center;gap:7px;font-weight:bold}.controls input{width:300px;padding:7px 9px;border:1px solid #aebec8;border-radius:3px;font:inherit;font-weight:normal}button{background:var(--blue);border:0;border-radius:3px;color:#fff;padding:8px 12px;font:inherit;font-weight:bold;cursor:pointer}button:hover{background:#00669f}button.secondary{background:#dce7ec;color:#263e4c}.hint{color:var(--muted);font-size:12px;margin-left:auto}.filter-panel{position:sticky;top:123px;z-index:4;background:#fff;border-bottom:1px solid var(--line);padding:10px 18px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.filter-title{font-weight:bold;margin-right:10px}.filter-row{display:flex;gap:4px}.filter-row select{max-width:250px;padding:6px;border:1px solid var(--line);font:inherit}#horizontal-scroll{height:18px;overflow-x:auto;overflow-y:hidden;background:#f7fafb;border-top:1px solid var(--line);position:fixed;bottom:0;left:0;right:0;z-index:7}#horizontal-scroll-content{height:1px}#sheet-wrap{height:calc(100vh - 123px);overflow:auto;background:#fff;padding-bottom:18px}table{border-collapse:separate;border-spacing:0;min-width:max-content;width:100%}th,td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 8px;vertical-align:top;white-space:nowrap;max-width:360px}th{background:#e7f0f5;color:#263d4a;font-size:11px;font-weight:bold;position:sticky;top:0;z-index:3;text-align:left}th.ident{background:#d4e8f3}th.value{background:#eef5f8;color:#51606b}td.fixed{background:#f7fafb;color:#51606b}td:nth-child(1),th:nth-child(1){position:sticky;left:0;z-index:2;min-width:58px;max-width:58px}td:nth-child(2),th:nth-child(2){position:sticky;left:58px;z-index:2;min-width:185px;max-width:185px;border-right:2px solid #8fa8b5}th:nth-child(1),th:nth-child(2){z-index:4}td.ident-cell{cursor:pointer;color:#004f79;background:#fafdff;min-width:94px}.value-cell{min-width:145px;color:#344d5c;background:#fbfdfe}.ident-cell:hover,.text-cell:hover{outline:2px solid #8fc6e2;outline-offset:-2px;background:#edf8fd}.ident-cell select{width:320px;max-width:50vw;font:inherit;padding:3px}.text-cell{white-space:pre-wrap;min-width:180px;cursor:text}.text-cell.long-text{min-width:300px;max-width:500px;white-space:pre-wrap}.saving{background:#fff0bb!important}.saved{background:var(--saved)!important}.error{background:#ffe0e7!important}.login-overlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:rgba(16,44,87,.42)}.login-overlay[hidden]{display:none}.login-card{width:min(100%,370px);padding:30px;background:#fff;border-top:4px solid var(--blue);box-shadow:0 18px 48px rgba(16,44,87,.22)}.login-card>strong{color:var(--blue);letter-spacing:.12em;font-size:16px}.login-card h1{margin:12px 0 6px;font-size:25px;line-height:1.15;color:#102c57}.login-card p{margin:0 0 22px;color:var(--muted)}.login-card label{display:block;margin:14px 0 0;font-weight:700}.login-card input{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #aebec8;border-radius:2px;font:inherit}.login-card button{width:100%;margin-top:20px;padding:11px}.login-card button:disabled{opacity:.6;cursor:wait}#login-error{min-height:18px;margin-top:12px;color:#b3002d;font-weight:700}@media(max-width:1000px){.hint{display:none}.controls input{width:200px}}@media(max-width:640px){.site-header{height:64px;padding:0 14px}.brand{gap:12px}.brand-logo img{width:108px;max-height:31px}.header-context{padding-left:12px}.header-context span{font-size:8px}.header-context h1{font-size:16px}.header-status{display:none}.controls{top:64px;padding:9px 12px}.filter-panel{top:111px;padding:9px 12px}#sheet-wrap{height:calc(100vh - 111px)}}