:root{--primary:#08799f;--header:#123b4a;--page-bg:#f3f7f9;--table-header:#eaf4f7;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#1d2a38;background:var(--page-bg)}
*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
body{margin:0}
a{color:var(--primary)}
.top{background:var(--header);color:#fff;padding:11px 18px;display:flex;justify-content:space-between;gap:20px;font-size:.88rem}
.top a{color:#fff}
.wrap{width:100%;max-width:1440px;margin:18px auto;padding:0 18px}
.card{min-width:0;max-width:100%;background:#fff;border:1px solid #dbe6ea;border-radius:11px;padding:18px;box-shadow:0 2px 10px #163d4b0d}
.narrow{max-width:560px;margin:7vh auto}
.stack{display:grid;gap:16px}
label{font-weight:650}
input,select,button{font:inherit}
input,select{width:100%;padding:9px;border:1px solid #bdd0d8;border-radius:7px;margin-top:6px;color:#1d2a38;background:#fff}
button,.button{display:inline-block;border:0;border-radius:7px;background:var(--primary);color:white;padding:9px 13px;text-decoration:none;cursor:pointer}
.button.secondary{background:#e4f1f5;color:var(--primary)}
.button.small,button.small{padding:6px 9px;font-size:.82rem}
.danger{background:#a32929}
.muted{color:#708087}
.notice{padding:11px;border-radius:7px;margin:12px 0}
.error{background:#ffe3e3;color:#851d1d}
.ok{background:#dbf5e5;color:#145b31}
.warning{background:#fff3cd;color:#6b4f00;border:1px solid #f0d98a}
.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:15px 0}
.table-wrap{overflow:auto}
table{border-collapse:collapse;width:100%;background:#fff}
th,td{text-align:left;padding:8px;border-bottom:1px solid #dce7eb;white-space:nowrap}
th{background:var(--table-header)}
.admin-items{min-width:2100px}
.admin-items th:nth-child(2),.admin-items td:nth-child(2){min-width:260px}
.admin-items th:nth-child(10),.admin-items td:nth-child(10){min-width:210px}
.admin-items .item-actions{position:sticky;right:0;background:#fff;box-shadow:-6px 0 8px #163d4b12}
.admin-items th:last-child{position:sticky;right:0;z-index:1}
.public{font-size:.84rem}
.public table{font-size:.82rem}
.public h1{font-size:1.45rem;margin:0 0 3px}
.public h2{font-size:1.05rem;margin:0}
.public-archive-card h2{margin-bottom:16px}
.public .card{padding:15px}
.public .button{font-size:.84rem;padding:8px 11px}
.public-sections{display:flex;flex-direction:column;gap:24px;margin-top:16px}
.public-sections>.card{margin:0}
.public-card-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}
.public-card-heading p{margin:0}
.live-filter{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:center;margin:0 0 13px}
.live-filter input{margin:0}
.live-filter .muted{white-space:nowrap}
.admin-page{max-width:1600px;font-size:.86rem}
.admin-page h1{font-size:1.55rem;margin:0 0 3px}
.admin-page h2{font-size:1.08rem;margin:0 0 12px}
.admin-page label{font-weight:400;color:#708087}
.admin-page label input,.admin-page label select{font-weight:400}
.page-heading,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.page-heading{margin-bottom:16px}
.page-heading p{margin:0}
.admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'import settings' 'status settings' 'archive archive' 'manual user' 'items items' 'theme theme';gap:20px;align-items:start}
.admin-grid>.card{min-width:0;margin:0}
.priority-card{grid-area:import;border-top:3px solid #08799f}
.settings-card{grid-area:settings}
.status-card{grid-area:status;font-size:.76rem;color:#607078}
.status-card h2{font-size:.94rem;color:#1d2a38;margin-bottom:7px}
.status-card button,.status-card .button{font-size:.76rem;padding:7px 10px}
.status-card .muted{font-size:.74rem}
.archive-card{grid-area:archive}
.manual-card{grid-area:manual}
.user-card{grid-area:user}
.items-panel{grid-area:items}
.theme-card{grid-area:theme}
.theme-fields{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) auto;gap:14px;align-items:end}
.theme-fields input[type=color]{height:42px;padding:3px;cursor:pointer}
.import-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.import-form>*{min-width:0;max-width:100%}
.import-form input[type=file]{width:100%;min-width:0;max-width:100%;margin:0;padding:12px;background:#f7fafb;overflow:hidden}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px}
.form-actions{display:flex;gap:10px;align-items:center}
.wide-field{grid-column:span 2}
.check-field{display:flex;align-items:center;gap:8px;align-self:end;padding:9px 0}
.check-field input{width:auto;margin:0}
.status-list{display:grid;grid-template-columns:1fr;gap:0;margin:0 0 12px}
.status-list div{display:grid;grid-template-columns:135px minmax(0,1fr);gap:7px;padding:6px 0;border-bottom:1px solid #e4ecef}
.status-list dt{font-weight:600}
.status-list dd{margin:0;overflow-wrap:anywhere}
.technical{margin:8px 0}
.technical code{display:block;margin-top:7px;padding:8px;background:#f4f7f8;border-radius:7px;white-space:normal;overflow-wrap:anywhere}
.archive-scroll{max-height:300px}
.archive-card table{font-size:.84rem}
.inline-form{display:inline}
.count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#e4f1f5;color:var(--primary);font-size:.78rem;vertical-align:middle}
.collapsible{padding:0;overflow:hidden}
.collapsible>summary{cursor:pointer;list-style:none;font-size:1rem;font-weight:600;padding:16px 18px;display:flex;justify-content:space-between;align-items:center}
.collapsible>summary::-webkit-details-marker{display:none}
.collapsible>summary::after{content:'+';font-size:1.25rem;color:var(--primary)}
.collapsible[open]>summary{border-bottom:1px solid #dbe6ea}
.collapsible[open]>summary::after{content:'−'}
.collapsible-body{padding:18px}
.items-scroll{max-height:520px}
.items-scroll thead th,.archive-scroll thead th{position:sticky;top:0;z-index:2}
.items-scroll .admin-items th:last-child{z-index:3}
.settings-card button{width:100%}
#manual-item,#items-panel{scroll-margin-top:18px}
.help-page{max-width:1100px}
.help-page h1{margin:0 0 3px}
.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.help-wide{grid-column:1/-1}
.help-card h2{margin:0 0 10px;font-size:1.08rem}
.help-card p,.help-card li{line-height:1.55}
.help-card p:last-child,.help-card ol:last-child{margin-bottom:0}
@media(max-width:760px){.wrap{margin:14px auto;padding:0 12px}.admin-page{font-size:1rem}
.admin-page h1{font-size:1.55rem}
.admin-page h2{font-size:1.15rem}
.admin-page label{font-size:.95rem}
.admin-page input,.admin-page select,.admin-page button,.admin-page .button{font-size:16px}
.status-card{font-size:.9rem}
.status-card h2{font-size:1.05rem}
.status-card .muted,.status-card button,.status-card .button{font-size:.88rem}
.admin-grid{width:100%;min-width:0;grid-template-columns:minmax(0,1fr);grid-template-areas:'import' 'settings' 'status' 'archive' 'manual' 'user' 'items' 'theme'}
.top{display:block}
.top nav{display:flex;flex-wrap:wrap;gap:5px 0;margin-top:8px}
.page-heading,.section-heading,.public-card-heading{align-items:flex-start;flex-direction:column}
.form-grid,.import-form,.live-filter,.theme-fields{grid-template-columns:1fr}
.wide-field{grid-column:auto}
.section-heading form,.section-heading button,.import-form button{width:100%}
.live-filter .muted{white-space:normal}
.status-list div{grid-template-columns:1fr;gap:3px}
.archive-card table,.admin-items{font-size:.95rem}
.top{font-size:.95rem}
.card{width:100%;padding:15px;overflow:hidden}
.collapsible{padding:0}
.help-grid{grid-template-columns:minmax(0,1fr)}
}
