:root{--ink:#111;--ink2:#3d3d3d;--ink3:#6b6b6b;--line:#d4d4d4;--line2:#e6e6e6;--band:#f4f4f4;--bg:#ececec;--surface:#fff;--dark:#1c1c1c;--dark2:#333;--accent:#0b6e67;--red:#a52a1f;--amber:#8a5a00;--green:#1a6b3c;--blue:#1c4f8a;--violet:#4b3f9e;--radius:0;--shadow-modal:0 20px 48px #00000047;--sidebar-w:236px}*,:before,:after{box-sizing:border-box;border-radius:var(--radius);margin:0;padding:0}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;min-height:100dvh;font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;font-size:14px;line-height:1.7;display:flex}.mono{font-family:DM Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.sidebar{width:var(--sidebar-w);background:var(--dark);color:#cfcfcf;flex-direction:column;flex-shrink:0;height:100dvh;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid #3a3a3a;padding:18px 18px 14px}.brand .logo{color:#fff;letter-spacing:.01em;font-size:15px;font-weight:800}.brand .sub{color:#9a9a9a;letter-spacing:.06em;margin-top:3px;font-size:12px;font-weight:700}.nav{flex:1;padding:10px 10px 20px;overflow:auto}.nav-section{color:#8f8f8f;letter-spacing:.1em;padding:14px 10px 6px;font-size:12px;font-weight:700}.nav-item{cursor:pointer;color:#cfcfcf;align-items:center;gap:9px;margin-bottom:2px;padding:9px 11px;font-size:13px;transition:background .15s,color .15s;display:flex}.nav-item:hover{color:#fff;background:#262626}.nav-item.active{color:#fff;box-shadow:inset 3px 0 0 var(--accent);background:#2e2e2e;font-weight:700}.nav-item:focus-visible{outline-offset:-2px;outline:2px solid #fff}.nav-icon{text-align:center;width:18px}.side-foot{color:#8f8f8f;border-top:1px solid #3a3a3a;padding:12px 16px;font-size:12px;line-height:1.6}.main{flex:1;min-width:0}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:20;justify-content:space-between;align-items:center;gap:16px;padding:13px 26px;display:flex;position:sticky;top:0}.topbar-heading{min-width:0}.topbar-title{color:var(--ink);font-size:17px;font-weight:800;line-height:1.4}.topbar-sub{color:var(--ink3);margin-top:2px;font-size:12.5px;font-weight:500;line-height:1.5}.topbar-right{color:var(--ink3);align-items:center;gap:12px;font-size:13px;display:flex}.operator-chip{background:var(--band);border:1px solid var(--line);color:var(--ink2);align-items:center;gap:8px;padding:5px 12px 5px 5px;font-size:13px;font-weight:600;display:flex}.operator-avatar{background:var(--dark);color:#fff;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:flex}.content{max-width:1440px;padding:22px 26px 72px}.page{display:none}.page.active{display:block}.card{background:var(--surface);border:1px solid var(--line);margin-bottom:16px;padding:18px}.card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.card-title{color:var(--ink);align-items:center;gap:7px;font-size:15px;font-weight:800;line-height:1.5;display:flex}.card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--line);padding:14px 16px 15px}.stat-label{color:var(--ink3);font-size:12px;font-weight:700;line-height:1.5}.stat-value{color:var(--ink);font-variant-numeric:tabular-nums;margin-top:5px;font-size:26px;font-weight:800;line-height:1.2}.stat-value small{margin-left:1px;font-size:14px;font-weight:700}.stat-sub{margin-top:4px;font-size:12px;font-weight:700;line-height:1.5}.up{color:var(--green)}.down{color:var(--red)}.flat{color:var(--ink3)}.table-wrap{border:1px solid var(--line);background:var(--surface);overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{background:var(--dark);color:#fff;text-align:left;white-space:nowrap;padding:10px 12px;font-weight:700}th.c,td.c{text-align:center}th.r,td.r{text-align:right}td{border-bottom:1px solid var(--line2);color:var(--ink2);vertical-align:middle;padding:10px 12px}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .12s}tbody tr:hover{background:var(--band)}.cell-strong{color:var(--ink);font-weight:700}.cell-sub{color:var(--ink3);margin-top:2px;font-size:12px;line-height:1.5}.row-actions{white-space:nowrap;gap:6px;display:inline-flex}.badge{white-space:nowrap;background:var(--band);color:var(--ink);border:1px solid var(--line);border-left-width:3px;border-left-color:var(--ink3);padding:2px 9px;font-size:12px;font-weight:700;line-height:1.6;display:inline-block}.b-green{border-left-color:var(--green)}.b-amber{border-left-color:var(--amber)}.b-red{border-left-color:var(--red)}.b-blue{border-left-color:var(--blue)}.b-violet{border-left-color:var(--violet)}.b-gray{color:var(--ink3);border-left-color:#b8b8b8}.btn{--btn-bg:var(--surface);--btn-fg:var(--ink2);--btn-border:#c4c4c4;border:1px solid var(--btn-border);background:var(--btn-bg);min-height:34px;color:var(--btn-fg);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:700;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover{background:var(--band);border-color:#a8a8a8}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn-primary{--btn-bg:var(--dark);--btn-fg:#fff;--btn-border:var(--dark)}.btn-primary:hover{--btn-bg:var(--dark2);--btn-border:var(--dark2)}.btn-navy{--btn-bg:var(--dark2);--btn-fg:#fff;--btn-border:var(--dark2)}.btn-navy:hover{--btn-bg:#4a4a4a;--btn-border:#4a4a4a}.btn-outline{--btn-bg:transparent;--btn-fg:var(--ink2);--btn-border:#b8b8b8}.btn-outline:hover{--btn-bg:var(--band)}.btn-ghost{--btn-bg:transparent;--btn-fg:var(--ink2);--btn-border:transparent}.btn-ghost:hover{--btn-bg:var(--line2)}.btn-danger{--btn-bg:var(--surface);--btn-fg:var(--red);--btn-border:#c9a9a4}.btn-danger:hover{--btn-bg:var(--band);--btn-border:var(--red)}.btn-sm{min-height:30px;padding:7px 11px;font-size:12px}.btn-lg{min-height:42px;padding:12px 20px;font-size:14px}.btn-block{width:100%}.icon-btn{border:1px solid var(--line);background:var(--surface);width:32px;height:32px;color:var(--ink2);cursor:pointer;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:14px;transition:background .15s,border-color .15s;display:inline-flex}.icon-btn:hover{background:var(--band);border-color:#a8a8a8}.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.toolbar-spacer{flex:1}.search-field{flex:0 290px;min-width:210px;position:relative}.search-field .search-icon{color:var(--ink3);pointer-events:none;font-size:13px;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-field input{padding-left:30px}.segmented{background:var(--line2);border:1px solid var(--line);gap:3px;padding:3px;display:inline-flex}.segmented button{color:var(--ink2);cursor:pointer;background:0 0;border:none;min-height:28px;padding:6px 12px;font-family:inherit;font-size:12.5px;font-weight:700;transition:background .15s,color .15s}.segmented button:hover{color:var(--ink)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.segmented button:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.field{margin-bottom:14px;display:block}.field-label,.settings-label{color:var(--ink2);margin-bottom:6px;font-size:12.5px;font-weight:700;display:block}.field-required{color:var(--red);margin-left:5px;font-size:12px}.field-hint{color:var(--ink3);margin-top:5px;font-size:12px;line-height:1.6}.input,.settings-input,input[type=text],input[type=email],input[type=date],input[type=number],input[type=search],select,textarea{width:100%;color:var(--ink);background:var(--surface);border:1px solid #b8b8b8;min-height:38px;padding:9px 11px;font-family:inherit;font-size:14px;transition:border-color .15s}textarea{resize:vertical;line-height:1.7}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink3) 50%), linear-gradient(135deg, var(--ink3) 50%, transparent 50%);background-position:calc(100% - 16px) calc(50% + 1px),calc(100% - 11px) calc(50% + 1px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:30px}.input:hover,.settings-input:hover,select:hover,textarea:hover{border-color:#8f8f8f}.input:focus,.settings-input:focus,input:focus,select:focus,textarea:focus{border-color:var(--ink);outline:2px solid var(--accent);outline-offset:1px}.input:disabled,.settings-input:disabled,input:disabled,select:disabled,textarea:disabled{background:var(--band);color:var(--ink3);cursor:not-allowed}.input-mono{letter-spacing:.02em;font-family:DM Mono,ui-monospace,monospace}.form-grid{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}.form-grid .col-span-2{grid-column:span 2}.checkbox-row{color:var(--ink2);cursor:pointer;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.checkbox-row input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--dark);cursor:pointer}.modal-overlay{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}.modal-overlay.active{display:flex}.modal{background:var(--surface);border:1px solid var(--line);width:620px;max-width:100%;max-height:88dvh;box-shadow:var(--shadow-modal);flex-direction:column;display:flex;overflow:hidden}.modal-wide{width:940px}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 22px 15px;display:flex}.modal-header h3{color:var(--ink);margin:0;font-size:16px;font-weight:800;line-height:1.5}.modal-sub{color:var(--ink3);margin-top:4px;font-size:12.5px;font-weight:500;line-height:1.6}.modal-close{cursor:pointer;color:var(--ink3);background:0 0;border:1px solid #0000;flex-shrink:0;width:32px;height:32px;font-family:inherit;font-size:20px;line-height:1}.modal-close:hover{background:var(--line2);color:var(--ink)}.modal-close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.modal-body{padding:18px 22px;overflow-y:auto}.modal-section{margin-bottom:18px}.modal-section-title{color:var(--ink);border-bottom:2px solid var(--line);margin-bottom:10px;padding-bottom:6px;font-size:13px;font-weight:800}.modal-footer{border-top:1px solid var(--line);background:var(--band);justify-content:flex-end;align-items:center;gap:8px;padding:14px 22px;display:flex}.modal-footer .footer-note{color:var(--ink3);margin-right:auto;font-size:12.5px;line-height:1.5}.alert{background:var(--band);color:var(--ink);border:1px solid var(--line);border-left:3px solid var(--ink3);align-items:flex-start;gap:10px;margin-bottom:10px;padding:11px 14px;font-size:13px;line-height:1.8;display:flex}.alert.warn{border-left-color:var(--amber)}.alert.danger{border-left-color:var(--red)}.alert.info{border-left-color:var(--blue)}.alert.success{border-left-color:var(--green)}.note{color:var(--ink3);margin-top:8px;font-size:12.5px;line-height:1.8}.bar{background:var(--line2);height:8px;overflow:hidden}.bar>i{background:var(--dark2);height:100%;display:block}.split{grid-template-columns:1fr 1fr;gap:16px;display:grid}.rs-row{border-bottom:1px solid var(--line2);justify-content:space-between;align-items:center;padding:11px 0;font-size:13.5px;display:flex}.rs-row:last-child{border-bottom:none}.empty{text-align:center;color:var(--ink3);padding:34px 20px;font-size:13px;line-height:1.8}.empty-title{color:var(--ink2);margin-bottom:4px;font-size:14px;font-weight:700}.crumb{color:var(--ink3);align-items:center;gap:6px;margin-bottom:12px;font-size:13px;font-weight:700;display:inline-flex}.crumb a{color:var(--accent)}.crumb a:hover{text-decoration:underline}.demo-flag{background:var(--band);border:1px solid var(--line);border-left:3px solid var(--amber);color:var(--ink);margin-bottom:16px;padding:9px 12px;font-size:12.5px;line-height:1.7}.q-list{flex-direction:column;gap:10px;display:flex}.q-item{border:1px solid var(--line);background:var(--surface);padding:12px 14px;transition:border-color .15s}.q-item:hover{border-color:#a8a8a8}.q-head{align-items:flex-start;gap:10px;display:flex}.q-seq{background:var(--dark);color:#fff;font-variant-numeric:tabular-nums;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:flex}.q-text{min-width:0;color:var(--ink);flex:1;font-size:13px;font-weight:600;line-height:1.8}.q-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.q-choices{flex-direction:column;gap:4px;margin-top:8px;display:flex}.q-choice{color:var(--ink2);background:var(--band);align-items:flex-start;gap:8px;padding:5px 8px;font-size:12.5px;line-height:1.7;display:flex}.q-choice.correct{color:var(--ink);box-shadow:inset 3px 0 0 var(--green);font-weight:700}.q-choice-key{color:var(--ink3);flex-shrink:0;font-family:DM Mono,monospace;font-size:12px}.choice-editor{align-items:center;gap:8px;margin-bottom:8px;display:flex}.choice-editor input[type=radio]{width:16px;height:16px;min-height:0;accent-color:var(--dark);cursor:pointer;flex-shrink:0}.choice-editor .input{flex:1}.nav-toggle,.nav-close,.nav-scrim{display:none}@media (max-width:1080px){.split{grid-template-columns:1fr}}@media (max-width:1024px){.nav-toggle{border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--ink);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;font-size:18px;transition:background .15s;display:inline-flex}.nav-toggle:hover{background:var(--band)}.nav-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.nav-close{color:#cfcfcf;cursor:pointer;background:0 0;border:1px solid #3a3a3a;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-family:inherit;font-size:16px;transition:background .15s,color .15s;display:inline-flex}.nav-close:hover{color:#fff;background:#262626}.nav-close:focus-visible{outline-offset:-2px;outline:2px solid #fff}.nav-scrim{z-index:1005;cursor:pointer;opacity:0;visibility:hidden;background:#00000080;border:none;padding:0;transition:opacity .22s,visibility .22s;display:block;position:fixed;inset:0}.nav-scrim.is-open{opacity:1;visibility:visible}.sidebar{z-index:1010;visibility:hidden;width:min(272px,82vw);height:100dvh;transition:transform .22s,visibility .22s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.is-open{visibility:visible;transform:none;box-shadow:0 0 44px #00000073}.brand{justify-content:space-between;align-items:center;gap:12px;display:flex}.nav-item{padding:11px}.topbar{gap:10px;padding:10px 14px}.topbar-heading{flex:1}.topbar-title{text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.topbar-sub{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.content{max-width:none;padding:16px 14px 60px}}@media (max-width:820px){.form-grid{grid-template-columns:1fr}.form-grid .col-span-2{grid-column:span 1}.modal-overlay{align-items:flex-end;padding:0}.modal{max-height:94dvh}}@media (max-width:640px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.card{padding:14px}.topbar-sub,.operator-name{display:none}.operator-chip{padding:4px}.search-field{flex:100%;min-width:0}.toolbar-spacer{display:none}.modal-footer{flex-wrap:wrap}.modal-footer .footer-note{flex:100%;margin-right:0}}
