:root{--blue:#164194;--blue-dark:#081c45;--ink:#10244b;--muted:#65728a;--line:#dbe3f0;--surface:#fff;--bg:#f4f7fb;--green:#147a54;--red:#b42318;--shadow:0 16px 40px rgba(10,32,72,.09)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Plus Jakarta Sans",Arial,sans-serif;font-size:15px;line-height:1.55;letter-spacing:0}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
.site-header{background:linear-gradient(120deg,var(--blue-dark),var(--blue));color:#fff;padding:18px 24px;box-shadow:0 5px 20px rgba(8,28,69,.18)}
.site-header>div{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{font-weight:800;font-size:17px}
nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px 20px;font-weight:700;font-size:14px}
nav form{margin:0}.link-button{border:0;background:none;color:#fff;padding:0;cursor:pointer;font-weight:700}
.container{width:min(1180px,calc(100% - 32px));margin:44px auto 70px}
.page-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:26px}
.tools-page-title{display:grid;grid-template-columns:1fr 1fr;align-items:end}.tools-page-title .title-link{justify-self:center}
h1{font-size:1.5em;font-weight:800;letter-spacing:-.02em;margin:.25rem 0;text-align:center}
.page-title h1{text-align:left;font-size:28px}.page-title p{margin:3px 0;color:var(--muted)}
.title-link{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:230px;min-height:54px;padding:9px 15px;border:1px solid var(--blue);border-radius:8px;background:var(--blue);color:#fff;box-shadow:0 6px 16px rgba(22,65,148,.18);transition:background .15s ease,box-shadow .15s ease}.title-link span{font-size:10px;font-weight:700;text-transform:uppercase;opacity:.8}.title-link strong{font-size:13px;font-weight:800}.title-link:hover{background:#0d2f70;box-shadow:0 8px 20px rgba(22,65,148,.24)}
h2{font-size:18px;margin:0 0 14px;font-weight:800;letter-spacing:0}
.eyebrow{color:var(--blue);font-size:12px;font-weight:800;text-transform:uppercase}
.panel,.admin-card,.tool-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
.panel{padding:30px;border-top:4px solid var(--blue)}.compact{max-width:540px;margin:70px auto}.compact p{text-align:center;color:var(--muted)}
.login-layout{min-height:62vh;display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center}
.login-copy h1{font-size:clamp(34px,5vw,60px);line-height:1.08;text-align:left;max-width:760px;margin:14px 0 20px}.login-copy p{font-size:18px;color:var(--muted);max-width:620px}
.stack{display:grid;gap:18px}.stack small,.panel>small{display:block;color:var(--muted);margin-top:18px}
.auth-links{display:grid;gap:8px;margin-top:20px;font-size:13px;font-weight:700}.auth-links a{color:var(--blue)}
.account-panel{max-width:620px}.account-panel h2{text-align:center}
label{display:grid;gap:7px;font-weight:700;font-size:13px}
input,select,textarea{width:100%;min-height:44px;border:1px solid #bfcbe0;border-radius:8px;padding:10px 12px;background:#fff;color:var(--ink)}
textarea{resize:vertical;line-height:1.55}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(22,65,148,.16);border-color:var(--blue)}
.primary{display:inline-flex;justify-content:center;align-items:center;min-height:42px;padding:10px 17px;border:0;border-radius:8px;background:var(--blue);color:#fff;font-weight:800;cursor:pointer}
.notice{max-width:720px;margin:0 auto 24px;padding:13px 16px;border-radius:8px;font-weight:700}.notice.error{color:var(--red);background:#fff0ee}.notice.success{color:var(--green);background:#eaf8f1}
.tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tool-card{min-height:190px;padding:18px;border-top:4px solid var(--blue);display:flex;flex-direction:column;justify-content:space-between;gap:14px;transition:opacity .15s ease,box-shadow .15s ease,transform .15s ease}
.tool-card-heading,.tool-card-controls,.tool-actions,.admin-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.tool-card-heading{min-width:0}.tool-card-heading h2{min-width:0;min-height:48px;margin:0;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.tool-card-controls{flex:0 0 auto}.tool-card-controls form{margin:0}
.tool-card-body{display:grid;align-content:start;gap:8px;min-height:54px}.tool-card p{margin:0;color:var(--muted);font-size:14px}.tool-actions{align-items:center;justify-content:flex-start}.tool-actions .primary{flex:1}
.favorite,.drag-handle{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:8px;background:#fff;color:#8893a7;cursor:pointer}.favorite:focus-visible,.drag-handle:focus-visible,.title-link:focus-visible{outline:3px solid rgba(22,65,148,.2);outline-offset:2px}.favorite{font-size:18px}.favorite.active{color:#d49400;background:#fff9e9}.drag-handle{font-size:20px;line-height:1;cursor:grab}.drag-handle:active{cursor:grabbing}.tool-card.is-dragging{opacity:.42;transform:scale(.98)}.tool-card.is-drag-target{box-shadow:0 0 0 3px rgba(22,65,148,.2),var(--shadow)}
.badge{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase}.badge.beta{background:#f0e9ff;color:#6b38ad}
.tabs{display:flex;gap:10px;margin:0 0 28px}.tabs a{padding:9px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;font-weight:700;color:var(--blue)}
section[id]{scroll-margin-top:20px;margin-top:38px}.admin-list{display:grid;gap:16px}.admin-card{padding:22px;border-top:4px solid #4d73bb}.admin-card-head small{display:block;color:var(--muted);font-weight:400;margin-top:4px}.admin-card-head select{width:auto;min-width:150px}
.admin-card fieldset{border:0;padding:0;margin:18px 0}.admin-card legend{font-weight:800;margin-bottom:10px}.checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px}.check{display:flex;align-items:center;gap:8px;min-height:34px}.check input{width:18px;min-height:18px;accent-color:var(--blue)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.form-grid .wide{grid-column:1/-1}.empty{grid-column:1/-1;color:var(--muted);background:#fff;border:1px dashed #bfcbe0;padding:24px;border-radius:8px;text-align:center}
.legal-footer{width:min(1180px,calc(100% - 32px));margin:0 auto 28px;text-align:center;color:var(--muted);font-size:12px}.legal-footer a{text-decoration:underline}
.data-notice-card{max-width:820px;margin:0 auto;background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:16px;padding:32px;box-shadow:var(--shadow)}.data-notice-card h1{text-align:left;margin:8px 0 20px}.data-notice-card h2{margin-top:28px}.data-notice-card li{margin:7px 0}.data-notice-card a,.notice-check a{color:var(--blue);text-decoration:underline}.data-notice-highlight{margin:22px 0;padding:16px;border-left:4px solid var(--green);background:#edf8f3}.notice-ack{display:grid;gap:16px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.notice-check{align-items:flex-start!important}.notice-check input{margin-top:2px}
.contact-panel{max-width:680px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.period-links{display:flex;gap:6px}.period-links a{padding:7px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:12px;font-weight:800;color:var(--blue)}.period-links a.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0 24px}.metric{background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:8px;padding:18px}.metric span{display:block;color:var(--muted);font-size:12px;font-weight:700}.metric strong{display:block;margin-top:4px;font-size:28px;color:var(--blue)}
.analytics-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px}.analytics-grid>div{min-width:0}.analytics-grid h3{font-size:14px}.data-table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:8px}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th,.data-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.data-table th{background:#edf2fa;color:var(--blue);font-weight:800}.data-table tr:last-child td{border-bottom:0}.retention-note{color:var(--muted);font-size:12px;margin-top:14px}
.message-list{display:grid;gap:12px}.message-card{background:#fff;border:1px solid var(--line);border-left:4px solid #95a3b8;border-radius:8px;padding:18px}.message-card.new{border-left-color:var(--blue)}.message-card.closed{opacity:.72}.message-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.message-head>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px 8px}.message-head small{grid-column:1/-1;color:var(--muted)}.message-head form{display:flex;align-items:center;gap:8px}.message-head select{min-width:110px}.message-card p{white-space:normal;margin:14px 0 0}.message-card .badge{background:#edf2fa;color:var(--blue)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.section-copy{margin:2px 0 0;color:var(--muted);font-size:12px}.tool-count{padding:6px 9px;border-radius:8px;background:#e8eef9;color:var(--blue);font-size:11px;font-weight:800}.tool-admin-table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(10,32,72,.06)}.tool-admin-table{width:100%;min-width:1080px;border-collapse:collapse;table-layout:fixed}.tool-admin-table th{padding:9px 8px;background:#edf2fa;color:var(--blue);font-size:11px;text-align:left}.tool-admin-table th:nth-child(1){width:18%}.tool-admin-table th:nth-child(2){width:23%}.tool-admin-table th:nth-child(3){width:26%}.tool-admin-table th:nth-child(4){width:10%}.tool-admin-table th:nth-child(5){width:8%;text-align:center}.tool-admin-table th:nth-child(6){width:15%}.tool-admin-table td{padding:7px 8px;border-top:1px solid var(--line);vertical-align:middle}.tool-admin-table input,.tool-admin-table select{min-height:36px;padding:7px 9px;border-radius:6px;font-size:12px}.tool-edit-row{transition:background .16s ease,box-shadow .16s ease}.tool-edit-row:hover{background:#f8faff}.tool-edit-row.new-tool-row{background:#f0f5fd}.tool-edit-row.is-saved{background:#edf8f3}.tool-edit-row.has-error{background:#fff0ee}.availability-cell{text-align:center}.switch{position:relative;display:inline-flex;align-items:center;min-height:28px}.switch input{position:absolute;width:1px;height:1px;min-height:1px;opacity:0}.switch>span[aria-hidden]{position:relative;width:38px;height:22px;border-radius:999px;background:#aab5c7;cursor:pointer;transition:background .16s ease}.switch>span[aria-hidden]::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .16s ease}.switch input:checked+span{background:var(--green)}.switch input:checked+span::after{transform:translateX(16px)}.switch input:focus-visible+span{outline:3px solid rgba(22,65,148,.2);outline-offset:2px}.save-cell{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px}.compact-save{min-height:34px;padding:7px 10px;border:0;border-radius:6px;background:var(--blue);color:#fff;font-size:11px;font-weight:800;cursor:pointer}.compact-save:hover{background:#0d2f70}.compact-save:disabled{opacity:.55;cursor:wait}.row-save-status{min-width:0;font-size:10px;font-weight:700;white-space:normal}.row-save-status.saving{color:var(--muted)}.row-save-status.saved{color:var(--green)}.row-save-status.error{color:var(--red)}
code{font-family:Consolas,monospace;background:#edf1f7;padding:2px 5px;border-radius:4px}
@media(max-width:1050px){.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-layout{grid-template-columns:1fr;gap:30px}.login-copy{padding-top:20px}.checks{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid{grid-template-columns:1fr}}
@media(max-width:600px){.site-header>div,.admin-card-head{align-items:flex-start;flex-direction:column}.site-header{padding:16px}.container{width:min(100% - 24px,1180px);margin-top:28px}nav{width:100%;justify-content:flex-start;gap:8px 14px;font-size:11px}.page-title{align-items:stretch;flex-direction:column;gap:16px}.tools-page-title{grid-template-columns:1fr}.tools-page-title .title-link{justify-self:stretch}.title-link{width:100%}.tool-grid,.checks,.form-grid,.metric-grid{grid-template-columns:1fr}.tool-card{min-height:170px}.login-copy h1{font-size:34px}.panel,.data-notice-card{padding:22px}.admin-card-head select{width:100%}.form-grid .wide{grid-column:auto}.section-heading,.message-head{align-items:stretch;flex-direction:column}.period-links{width:100%}.period-links a{flex:1;text-align:center}.message-head form{align-items:stretch;flex-direction:column}.message-head select{width:100%}.tabs{overflow:auto;padding-bottom:4px}.tabs a{white-space:nowrap}}
