:root{--page:#f5f6f8;--surface-1:#fff;--surface-2:#fafbfc;--surface-3:#f1f3f6;--ink-1:#10131a;--ink-2:#4b515c;--ink-3:#6b7280;--grid:#e7e9ee;--line-strong:#d7dae1;--ring:#10131a17;--s1:#2563eb;--s1-ink:#1d4fb8;--s1-wash:#2563eb17;--s1-glow:#2563eb38;--s2:#1baf7a;--s3:#eda100;--s6:#e34948;--good:#16a34a;--good-text:#167a3c;--warn:#d68a00;--warn-text:#8a6100;--crit:#d92d20;--chip-bg:#eef0f4;--t:.12s cubic-bezier(.4, 0, .2, 1);--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--shadow-1:0 1px 2px #10131a0a, 0 1px 1px #10131a08;--shadow-2:0 4px 16px #10131a14}@media (prefers-color-scheme:dark){:root{--page:#0b0d11;--surface-1:#14171d;--surface-2:#191d24;--surface-3:#1e232b;--ink-1:#f1f3f7;--ink-2:#b1b8c4;--ink-3:#79808c;--grid:#242832;--line-strong:#2e333d;--ring:#ffffff17;--s1:#4f8bf5;--s1-ink:#7dabf8;--s1-wash:#4f8bf524;--s1-glow:#4f8bf54d;--s2:#199e70;--s3:#c98500;--s6:#e66767;--good:#22c55e;--good-text:#34d17e;--warn:#e0a020;--warn-text:#e0a020;--crit:#f0503c;--chip-bg:#222732;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 8px 28px #00000080}}*{box-sizing:border-box}html,body{background:var(--page);color:var(--ink-1);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0;font:13px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}::selection{background:var(--s1-glow)}a{color:var(--s1);transition:color var(--t);text-decoration:none}a:hover{color:var(--s1-ink)}h1{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:700}h2{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin:0 0 10px;font-size:11px;font-weight:650}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--line-strong);background-clip:padding-box;border:2px solid #0000;border-radius:6px}.shell{min-height:100vh;display:flex}.sidebar{background:var(--surface-1);border-right:1px solid var(--grid);flex-direction:column;flex:none;gap:1px;width:210px;height:100vh;padding:12px 10px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar .logo{letter-spacing:-.01em;align-items:center;gap:8px;padding:6px 8px 12px;font-size:14px;font-weight:750;display:flex}.sidebar .logo span{color:var(--s1)}.sidebar .logo .dot{background:var(--s1);width:8px;height:8px;box-shadow:0 0 0 3px var(--s1-wash);border-radius:50%}.nav-group{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);padding:12px 8px 4px;font-size:10px;font-weight:650}.nav-item,.sidebar a{color:var(--ink-2);transition:background var(--t), color var(--t);border-radius:7px;align-items:center;gap:9px;padding:6px 8px;font-size:13px;font-weight:550;display:flex;position:relative}.nav-item svg{opacity:.7;transition:opacity var(--t);flex:none}.nav-item:hover,.sidebar a:hover{background:var(--surface-3);color:var(--ink-1)}.nav-item.on,.sidebar a.on{background:var(--s1-wash);color:var(--s1-ink);font-weight:650}.nav-item.on svg{opacity:1}.nav-item.on:before{content:"";background:var(--s1);border-radius:0 3px 3px 0;width:2.5px;position:absolute;top:6px;bottom:6px;left:-10px}.nav-item .navbadge,.sidebar .navbadge{text-align:center;background:var(--s1);color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;min-width:17px;height:17px;margin-left:auto;padding:0 5px;font-size:10.5px;font-weight:700;line-height:17px}.sidebar .foot{border-top:1px solid var(--grid);color:var(--ink-3);margin-top:auto;padding:10px 8px 4px;font-size:11.5px}.sidebar .foot .who{color:var(--ink-1);font-size:12px;font-weight:600}.sidebar .foot .role{text-transform:uppercase;letter-spacing:.04em;margin-top:2px;font-size:10.5px;display:inline-flex}.content{flex:1;min-width:0;max-width:1320px;padding:16px 22px 48px}.pagehead{flex-wrap:wrap;align-items:center;gap:12px;min-height:30px;margin-bottom:16px;display:flex}.pagehead h1{margin-right:auto}.topbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.msgThread{flex-direction:column;gap:10px;display:flex}.msgRow{display:flex}.msgRow.out{justify-content:flex-end}.msgBubble{border:1px solid var(--grid);background:var(--surface-1);border-radius:12px;max-width:76%;padding:8px 12px}.msgRow.out .msgBubble{background:var(--s1-bg,var(--surface-2,var(--surface-1)));border-color:var(--s1,var(--grid))}.msgMeta{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:3px;font-size:11.5px;display:flex}.msgWho{color:var(--ink);font-weight:600}.msgTime{color:var(--ink-3,var(--ink-2))}.msgSubject{margin-bottom:2px;font-weight:600}.msgBody{white-space:pre-wrap;word-break:break-word}.msgFoot{align-items:center;gap:8px;margin-top:5px;display:flex}.msgErr{color:var(--crit,#c0362c);font-size:11.5px}.msgCompose{flex-direction:column;gap:8px;display:flex}.msgComposeTop{flex-wrap:wrap;gap:8px;display:flex}.msgComposeTop select{flex:none}.msgComposeTop input{flex:220px}.rowform{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rowform input[type=text],.rowform input:not([type]){flex:220px;min-width:160px}.badge{color:var(--ink-2);background:var(--surface-1);border:1px solid var(--grid);font-variant-numeric:tabular-nums;border-radius:6px;padding:3px 9px;font-size:11px}.kbd{font:11px var(--mono);color:var(--ink-3);background:var(--surface-3);border:1px solid var(--grid);border-bottom-width:2px;border-radius:5px;padding:1px 5px}.grid{gap:12px;display:grid}.g4{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.g2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.mt{margin-top:12px}.card{background:var(--surface-1);border:1px solid var(--grid);box-shadow:var(--shadow-1);border-radius:10px;padding:14px 16px}.card>h2:first-child{border-bottom:1px solid var(--grid);margin-bottom:12px;padding-bottom:9px}.tile{transition:border-color var(--t), transform var(--t);padding:12px 14px}.tile:hover{border-color:var(--line-strong)}.tile h2{margin:0}.tile .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:6px;font-size:23px;font-weight:700;line-height:1.1}.tile .d{color:var(--ink-2);margin-top:3px;font-size:11.5px}.card{overflow-x:auto}td,th{overflow-wrap:anywhere}.table-wrap{border:1px solid var(--grid);background:var(--surface-1);box-shadow:var(--shadow-1);border-radius:10px;overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.card table{margin:0 -2px}th{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);text-align:left;border-bottom:1px solid var(--grid);background:var(--surface-2);white-space:nowrap;padding:8px 10px;font-size:10.5px;font-weight:650;position:sticky;top:0}.card th{background:0 0;position:static}td{border-bottom:1px solid var(--grid);color:var(--ink-1);padding:7px 10px;font-size:12.5px}tbody tr{transition:background var(--t)}tbody tr:hover td{background:var(--surface-2)}tr:last-child td{border-bottom:0}td.r,th.r{text-align:right}td code,.mono{font:11.5px var(--mono);color:var(--ink-2);background:var(--surface-3);border-radius:4px;padding:1px 5px}.pill{letter-spacing:.01em;white-space:nowrap;border-radius:5px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:650;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.p-good{color:var(--good-text);background:color-mix(in srgb, var(--good) 13%, transparent)}.p-warn{color:var(--warn-text);background:color-mix(in srgb, var(--warn) 17%, transparent)}.p-crit{color:var(--crit);background:color-mix(in srgb, var(--crit) 13%, transparent)}.p-info{color:var(--s1-ink);background:var(--s1-wash)}.p-mut{color:var(--ink-3);background:var(--chip-bg)}button,.btn{font:inherit;cursor:pointer;border:1px solid var(--line-strong);background:var(--surface-1);color:var(--ink-1);transition:background var(--t), border-color var(--t), box-shadow var(--t), transform var(--t);border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:600;display:inline-flex}button:hover,.btn:hover{background:var(--surface-3);border-color:var(--ink-3)}button:active,.btn:active{transform:translateY(.5px)}button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px var(--s1-glow);border-color:var(--s1);outline:none}.btn-primary{background:var(--s1);border-color:var(--s1);color:#fff}.btn-primary:hover{background:var(--s1-ink);border-color:var(--s1-ink)}.btn-danger{border-color:color-mix(in srgb, var(--crit) 45%, transparent);color:var(--crit);background:0 0}.btn-danger:hover{background:color-mix(in srgb, var(--crit) 10%, transparent);border-color:var(--crit)}.btn-sm{border-radius:6px;padding:3px 9px;font-size:12px}button:disabled{opacity:.5;cursor:default}input,select,textarea{font:inherit;color:var(--ink-1);background:var(--surface-1);border:1px solid var(--line-strong);width:100%;transition:border-color var(--t), box-shadow var(--t);border-radius:7px;padding:6px 10px;font-size:13px}input::placeholder,textarea::placeholder{color:var(--ink-3)}label{text-transform:uppercase;letter-spacing:.03em;color:var(--ink-3);margin:12px 0 4px;font-size:11px;font-weight:650;display:block}.hint{color:var(--ink-3);margin-top:6px;font-size:11.5px}.error{color:var(--crit);margin-top:8px;font-size:12.5px}.empty{color:var(--ink-3);text-align:center;padding:18px 4px;font-size:12.5px}.loginWrap{background:radial-gradient(1100px 500px at 50% -10%, var(--s1-wash), transparent 60%), var(--page);place-items:center;min-height:100vh;padding:20px;display:grid}.loginCard{background:var(--surface-1);border:1px solid var(--grid);width:100%;max-width:372px;box-shadow:var(--shadow-2);border-radius:14px;padding:28px}.camBig{width:100%;min-height:48px;margin-top:12px;font-size:15px;display:block}.camStage{z-index:50;color:#fff;background:#000;position:fixed;inset:0}.camVideo{object-fit:cover;background:#000;width:100%;height:100%;position:absolute;inset:0}.camFrozen{object-fit:contain;background:#000;width:100%;height:100%;position:absolute;inset:0}.camOverlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.camGuide{fill:none;stroke:#35e0b8;stroke-width:1.6px;stroke-linejoin:round;stroke-linecap:round;opacity:.9;filter:drop-shadow(0 0 3px #000c)}.camGuide .dash{stroke-dasharray:5 4}.camTop{padding:max(12px, env(safe-area-inset-top)) 16px 14px;background:linear-gradient(#000000a6,#0000);justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:absolute;top:0;left:0;right:0}.camShotTitle{font-size:16px;font-weight:700}.camSubtle{opacity:.85;font-size:12.5px}.camControls,.camReviewBar{padding:14px 20px max(20px, env(safe-area-inset-bottom));background:linear-gradient(#0000,#000000b3);position:absolute;bottom:0;left:0;right:0}.camHint{text-align:center;text-shadow:0 1px 3px #000000e6;margin-bottom:12px;font-size:13px}.camBtnRow{justify-content:center;align-items:center;gap:14px;display:flex}.camSide{flex:1;justify-content:center;display:flex}.camShutter{background:#35e0b8;border:5px solid #fff;border-radius:50%;flex:none;width:72px;height:72px;padding:0;box-shadow:0 0 0 4px #ffffff40}.camShutter:active{transform:scale(.94)}.camGhostBtn,.camSolidBtn{border:none;border-radius:26px;min-width:96px;min-height:48px;padding:12px 18px;font-size:15px;font-weight:700}.camGhostBtn{color:#fff;background:#ffffff2e}.camExit{border:1px solid #ffffff80;border-radius:8px;flex:none;min-height:40px;padding:8px 14px}.camSolidBtn{color:#00312a;background:#35e0b8;flex:1;max-width:220px}.camNote{color:#fff;background:#0000008c;border:1px solid #ffffff59;width:100%;margin-bottom:12px;display:block}.camNote::placeholder{color:#ffffffa6}.camChecklist{color:#fff;border-top:1px solid #ffffff2e;margin-top:14px;padding-top:12px}.camChecklistHead{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.camChecklistHead h3{margin:0;font-size:15px}.camCheckList{margin:0;padding:0;list-style:none}.camCheckRow{border-top:1px solid #ffffff1f;padding:8px 0}.camCheckLabel{cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;line-height:1.35;display:flex}.camCheckLabel input{width:20px;height:20px;accent-color:var(--s1,#2f81f7);flex:none;margin-top:2px}.camCheckNote{color:#fff;background:#0000008c;border:1px solid #ffadad80;border-radius:6px;width:100%;margin-top:6px;padding:7px 9px;display:block}.camCheckNote::placeholder{color:#fff9}.camServiceRow{cursor:pointer;align-items:center;gap:10px;margin-top:12px;font-size:14px;display:flex}.camServiceRow input{width:20px;height:20px;accent-color:var(--s1,#2f81f7)}.camSummary{padding:max(18px, env(safe-area-inset-top)) 18px max(22px, env(safe-area-inset-bottom));background:#0d0d0d;position:absolute;inset:0;overflow-y:auto}.camSummary h2{color:#fff;font-size:16px}.camSummaryList{margin:14px 0;padding:0;list-style:none}.camSummaryRow{border-bottom:1px solid #ffffff1f;align-items:center;gap:12px;padding:10px 0;display:flex}.camThumb{object-fit:cover;background:#1a1a19;border-radius:8px;flex:none;width:84px;height:63px}.camThumbEmpty{color:#ffffff8c;border:1px dashed #ffffff4d;justify-content:center;align-items:center;font-size:11px;display:flex}.camSummaryMeta{flex:1;min-width:0}.camSummaryLabel{font-size:13.5px;font-weight:650}.camSummaryNote{color:#fab219;overflow-wrap:anywhere;margin-top:2px;font-size:12.5px}.camSummary .camGhostBtn{flex:none;min-width:76px}.sidehead{justify-content:space-between;align-items:center;display:flex}.sidebody{flex-direction:column;flex:1;gap:1px;min-height:0;display:flex}.menubtn,.tabbar{display:none}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--s1);vertical-align:middle;flex:none;margin:0;padding:0}input[type=file]{padding:8px 10px}.checkrow{text-transform:none;letter-spacing:0;min-height:44px;color:var(--ink-1);cursor:pointer;border-radius:8px;align-items:center;gap:10px;margin:0;padding:10px 8px;font-size:13.5px;font-weight:500;display:flex}.checkrow:hover{background:var(--surface-3)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line-strong);text-transform:none;letter-spacing:0;color:var(--ink-2);background:var(--surface-1);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:6px;margin:0;padding:4px 9px;font-size:12px;font-weight:550;display:inline-flex}.chip input{width:14px;height:14px}.chip:has(input:checked){background:var(--s1-wash);border-color:var(--s1);color:var(--s1-ink)}.chips.scrollbox{border:1px solid var(--grid);border-radius:8px;max-height:132px;padding:4px;overflow-y:auto}.wrap{overflow-wrap:anywhere;word-break:break-word;min-width:0}.tile .wrap{font-size:12.5px}.pager{border-top:1px solid var(--grid);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:10px;font-size:12px;display:flex}.pager .n{margin-right:auto}.notice{border:1px solid color-mix(in srgb, var(--warn) 45%, transparent);background:color-mix(in srgb, var(--warn) 10%, transparent);border-radius:8px;align-items:center;gap:10px;margin-bottom:14px;padding:9px 12px;font-size:12.5px;display:flex}.rowlist{flex-direction:column;display:flex}.rowlist>.row{border-top:1px solid var(--grid);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;display:flex}.rowlist>.row .acts{gap:6px;margin-left:auto;display:inline-flex}details.editbox>summary{cursor:pointer;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);border-bottom:1px solid var(--grid);align-items:center;gap:8px;margin-bottom:12px;padding-bottom:9px;font-size:11px;font-weight:650;list-style:none;display:flex}details.editbox>summary::-webkit-details-marker{display:none}details.editbox>summary .btn{margin-left:auto}details.editbox[open]>summary .btn .closed,details.editbox:not([open])>summary .btn .opened{display:none}details.editbox:not([open])>summary{border-bottom:0;margin-bottom:0;padding-bottom:0}.notfound{text-align:center;padding:60px 20px}.notfound .code{font:600 44px var(--mono);color:var(--ink-3);letter-spacing:-.03em}.datenav{align-items:center;gap:4px;display:inline-flex}@media (max-width:720px){.shell{flex-direction:column}.sidebar{z-index:20;border-right:0;border-bottom:1px solid var(--grid);width:100%;height:auto;padding:6px 10px;display:block;position:sticky;top:0;overflow:visible}.sidebar .logo{white-space:nowrap;padding:6px 4px}.menubtn{align-items:center;gap:6px;min-height:40px;padding:6px 12px;display:inline-flex}.sidebody{z-index:30;background:var(--surface-1);padding:8px 12px max(16px, env(safe-area-inset-bottom));gap:2px;display:none;position:fixed;inset:53px 0 0;overflow-y:auto}.sidebody.open{display:flex}.shell.with-tabbar .sidebody{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.nav-group{padding:14px 8px 4px}.nav-item,.sidebar a{min-height:44px;padding:10px 12px;font-size:14.5px}.nav-item.on:before{display:none}.sidebar .foot{padding:14px 8px 4px;font-size:12.5px}.sidebar .foot .btn{min-height:40px;padding:8px 14px;font-size:13.5px}.content{padding:14px 12px 40px}.shell.with-tabbar .content{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.tabbar{z-index:15;background:var(--surface-1);border-top:1px solid var(--grid);padding:4px 4px max(4px, env(safe-area-inset-bottom));grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #10131a0f}.tabbar .nav-item,.tabbar .tabbtn{min-height:52px;color:var(--ink-2);background:0 0;border:0;border-radius:8px;flex-direction:column;justify-content:center;gap:3px;padding:6px 2px;font-size:10.5px;font-weight:600}.tabbar .nav-item svg,.tabbar .tabbtn svg{width:20px;height:20px}.tabbar .nav-item.on{background:var(--s1-wash);color:var(--s1-ink)}.tabbar .navbadge{margin:0;position:absolute;top:4px;right:calc(50% - 20px)}button,.btn,.btn-sm{min-height:44px}.tabbar .tabbtn{min-height:52px}input,select,textarea{min-height:40px;font-size:16px}th,td{padding:7px 8px}.hint,th,label,.pill,h2,.card h2,table.stack td:before{font-size:12px}.topbar input[type=text],.topbar input:not([type]),.topbar select,.rowform input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.rowform select{flex:100%;width:100%;max-width:none!important}table.stack{min-width:0}table.stack thead{display:none}table.stack,table.stack tbody,table.stack tr,table.stack td{width:100%;display:block}table.stack tr{border-bottom:1px solid var(--grid);padding:8px 0}table.stack tr:last-child{border-bottom:0}table.stack td{text-align:right;border:0;justify-content:space-between;align-items:center;gap:12px;padding:3px 0;display:flex}table.stack td.r{text-align:right}table.stack td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);text-align:left;flex:none;font-size:12px;font-weight:650}table.stack td:not([data-label]):before{content:none}table.stack td:not([data-label]){justify-content:flex-end}table.stack tbody tr:hover td{background:0 0}.rowlist>.row .acts{width:100%;margin-left:0}.rowlist>.row .acts .btn{flex:1}.msgBubble{max-width:92%}}@media (pointer:coarse){.btn,.btn-sm,button:not(.tabbtn):not(.camShutter),.nav-item,.sidebar a{min-height:40px}a.pill,td a,.pill a{align-items:center;min-height:32px;padding-top:4px;padding-bottom:4px;display:inline-flex}input[type=checkbox],input[type=radio]{width:22px;height:22px}}
