:root { color-scheme: light; font-family: system-ui, -apple-system, "Segoe UI", sans-serif; background:#f4f7fb; color:#162033; }
* { box-sizing:border-box; } body { margin:0; } button, input { font:inherit; }
.shell { width:min(100%, 900px); margin:auto; padding:20px max(16px, env(safe-area-inset-right)) 40px max(16px, env(safe-area-inset-left)); }
header { display:flex; justify-content:space-between; align-items:center; margin:4px 0 20px; } h1 { margin:0; font-size:1.55rem; } .eyebrow { color:#53657e; font-weight:700; font-size:.72rem; letter-spacing:.12em; margin:0 0 2px; }
.server-select { display:flex; align-items:center; justify-content:space-between; gap:12px; background:#fff; border:1px solid #dce4ef; border-radius:12px; padding:10px 13px; margin-bottom:12px; font-size:.88rem; font-weight:750; color:#33455f; } .server-select select { min-width:180px; max-width:72%; border:0; background:#eef3fa; padding:8px; border-radius:8px; color:#1b3150; font-weight:700; }
.controls { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:12px; } button { border:0; border-radius:12px; min-height:46px; padding:10px 14px; font-weight:700; cursor:pointer; } button:disabled { opacity:.55; cursor:wait; } .primary { background:#183b77; color:white; } .danger { background:#a92945; color:white; } .quiet { background:#e7edf7; color:#263b5c; min-height:38px; }
.days { min-height:46px; display:flex; align-items:center; justify-content:center; gap:7px; background:white; border:1px solid #dce4ef; border-radius:12px; font-weight:650; } .days input { width:48px; border:0; background:#eef3fa; border-radius:7px; padding:5px; text-align:center; }
.notice { background:#e8eef8; color:#263b5c; padding:12px 14px; border-radius:12px; margin:12px 0; font-size:.92rem; } .notice.error { background:#fee8e8; color:#98253b; } .notice.working { background:#fff2d6; color:#895900; }
.summary { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; } .stat { padding:8px 11px; border-radius:10px; background:white; box-shadow:0 1px 3px #13213a12; font-size:.86rem; }
.targets { display:grid; gap:10px; } .target { background:white; border:1px solid #e1e7f0; border-radius:14px; overflow:hidden; box-shadow:0 2px 7px #13213a0d; } .target-head { width:100%; min-height:0; text-align:left; display:grid; grid-template-columns:1fr auto auto; gap:3px 9px; background:white; color:inherit; padding:13px; border-radius:0; } .target-head:focus-visible { outline:3px solid #82a9ee; outline-offset:-3px; }
.name { font-size:1rem; font-weight:800; } .badge { grid-column:2; grid-row:1; font-size:.72rem; padding:4px 8px; border-radius:999px; background:#e5eaf1; color:#394b64; } .chevron { grid-column:3; grid-row:1; color:#64748b; transition:.15s; } .target.open .chevron { transform:rotate(180deg); } .meta, .message { grid-column:1 / -1; font-size:.8rem; color:#596a81; overflow-wrap:anywhere; } .message { color:#34445a; }
.badge.ok { background:#dcebfa; color:#0c4c8a; } .badge.incomplete { background:#e8f0fb; color:#35587d; } .badge.error { background:#fde2e2; color:#a12d43; }
.details { border-top:1px solid #e9eef5; overflow-x:auto; } table { border-collapse:collapse; width:100%; min-width:650px; font-size:.78rem; } th { background:#f6f8fc; color:#627187; text-align:left; font-weight:700; } th, td { padding:9px 10px; border-bottom:1px solid #edf1f6; white-space:nowrap; } td:last-child { white-space:normal; min-width:200px; } .file-incomplete td { background:#edf4fc; } .file-error td { background:#fff0f0; }
@media (max-width:480px) { .shell { padding-top:14px; } .controls { grid-template-columns:1fr 1fr; } .days { grid-column:span 1; } .danger { grid-column:span 1; } }
