:root{--primary:#1A3A5C;--accent:#C8A85A;--bg:#FFFFFF;--surface:#F6F5F2;--text:#1F1F1F;--muted:#6B6B6B;--success:#2E7D4F;--warn:#B8860B;--danger:#B3372E;--radius:8px;--shadow:0 2px 8px rgba(0,0,0,.08)}*{box-sizing:border-box;margin:0}body{font-family:Yu Gothic,-apple-system,sans-serif;font-size:16px;color:var(--text);background:var(--surface)}a{color:var(--primary);text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.skip-link{position:absolute;left:-9999px;top:0;background:var(--primary);color:#fff;padding:8px 16px;z-index:100}.skip-link:focus{left:0}.shell{display:flex;min-height:100vh}.nav{width:200px;background:var(--primary);color:#fff;padding:16px 0;flex-shrink:0}.nav h1{font-size:18px;padding:0 16px 16px}.nav a{display:block;color:#fff;padding:12px 16px;font-size:14px}.nav a:hover{background:rgba(255,255,255,.12)}.nav .badge-count{background:var(--danger);border-radius:10px;padding:1px 8px;font-size:12px;margin-left:6px}.main{flex:1 1;padding:24px 40px;max-width:1200px}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.env-badge{padding:4px 16px;border-radius:var(--radius);font-weight:700;font-size:13px}.env-staging{background:#F5D76E;color:#5C4500}.env-production{background:#fff;color:var(--danger);border:2px solid var(--danger)}.card{padding:16px 24px;margin-bottom:16px}.card,table{background:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;overflow:hidden}th{background:#DCE6F1;text-align:left;font-size:13px}td,th{padding:10px 12px}td{border-top:1px solid #eee;font-size:14px}tr.row-danger td{background:#FBEFEE}tr.row-warn td{background:#FBF5E3}.badge{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;color:#fff}.b-active{background:var(--success)}.b-testing{background:var(--warn)}.b-stopped{background:var(--muted)}.b-error{background:var(--danger)}.btn{display:inline-block;padding:10px 20px;border:none;border-radius:var(--radius);background:var(--primary);color:#fff;font-size:14px;cursor:pointer;min-height:44px}.btn-sm{padding:6px 14px;min-height:32px;font-size:13px}.btn-danger{background:var(--danger)}.btn-ghost{background:transparent;color:var(--primary)}.btn:disabled{background:#ccc;cursor:not-allowed}.empty{text-align:center;padding:48px;color:var(--muted)}.kpi{font-size:20px;font-weight:700}.muted{color:var(--muted);font-size:13px}input[type=text],textarea{border:1px solid #ccc;border-radius:var(--radius);padding:10px;font-size:14px;width:100%}.nav-group{border-top:1px solid rgba(255,255,255,.14)}.nav-group:last-of-type{border-bottom:1px solid rgba(255,255,255,.14)}.nav-group summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;padding:11px 16px;font-size:13px;font-weight:700;letter-spacing:.06em;color:rgba(255,255,255,.92)}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:"";width:7px;height:7px;margin-left:auto;border-right:1.5px solid rgba(255,255,255,.55);border-bottom:1.5px solid rgba(255,255,255,.55);transform:rotate(-45deg);transition:transform .15s}.nav-group[open] summary:after{transform:rotate(45deg)}.nav-group summary:hover{background:rgba(255,255,255,.12)}.nav-group a{padding:9px 16px 9px 42px;font-size:13.5px;color:rgba(255,255,255,.88)}.nav-group a.nav-current{background:rgba(255,255,255,.16);color:#fff;font-weight:700;border-left:3px solid var(--accent);padding-left:39px}.chart figcaption{display:flex;align-items:baseline;gap:16px;margin-bottom:10px}.chart-legend{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.chart-legend i{width:10px;height:10px;border-radius:2px;display:inline-block;margin-left:10px}.chart-plot{display:flex;gap:8px}.chart-y{flex-direction:column;justify-content:space-between;text-align:right;font-size:11px;color:var(--muted);width:76px;flex-shrink:0}.chart-bars,.chart-y{display:flex;padding-bottom:20px}.chart-bars{flex:1 1;align-items:flex-end;gap:2px;height:190px;background:linear-gradient(180deg,#ECEAE5 1px,transparent 0) 0 0 /100% 50%,linear-gradient(0deg,#DAD7D0 1px,transparent 0) 0 100% /100% 20px no-repeat}.chart-col{flex:1 1;align-items:stretch;height:100%;min-width:0;position:relative}.chart-col,.chart-stack{display:flex;flex-direction:column;justify-content:flex-end}.chart-stack{flex:1 1}.chart-stack div{margin-top:2px}.chart-stack div:last-child{border-radius:0}.chart-stack div:first-child{border-radius:4px 4px 0 0}.chart-peak{top:-4px;transform:translate(-50%,-100%);font-size:11px;font-weight:700;color:var(--text)}.chart-peak,.chart-x{position:absolute;left:50%;white-space:nowrap}.chart-x{bottom:0;transform:translateX(-50%);font-size:10.5px;color:var(--muted)}.chart-note{margin-top:8px}.hbar-row{display:flex;align-items:center;gap:10px;padding:4px 0}.hbar-label{width:110px;flex-shrink:0;font-size:13px;text-align:right}.hbar-track{flex:1 1;height:14px}.hbar-fill{display:block;height:100%;background:#3A6EA5;border-radius:0 4px 4px 0;min-width:2px}.hbar-value{width:110px;flex-shrink:0;font-size:13px;font-weight:700}.databar{position:relative;display:block;min-width:90px}.databar-fill{position:absolute;left:0;top:50%;transform:translateY(-50%);height:70%;background:rgba(58,110,165,.16);border-radius:0 3px 3px 0}.databar-text{position:relative}.main-manual{background:#F1E9D6;max-width:1000px;font-family:Yu Mincho,Hiragino Mincho ProN,MS Mincho,serif;color:#33281A;font-size:16.5px;line-height:1.9}.manual-banner{display:flex;align-items:flex-start;gap:10px;background:#5C4716;color:#FDF9EF;padding:14px 18px;border-radius:2px;margin-bottom:20px;font-size:14.5px;line-height:1.8;letter-spacing:.02em}.manual-banner svg{flex-shrink:0;margin-top:4px}.main-manual h2{color:#4A3A12;letter-spacing:.04em}.main-manual .header .muted{color:#7A6A45;font-family:inherit}.main-manual .muted{color:#7A6A45}.main-manual .card{background:#FBF7EA;box-shadow:none;border-radius:2px;border:1px solid #d8c89e;border-left:6px solid #a98a3c}.main-manual table{background:#FBF7EA;box-shadow:none;border-radius:2px}.main-manual th{background:#E7DAB6;color:#4A3A12;font-family:inherit}.main-manual td{border-top:1px solid #e5dbc0;font-size:15px}.main-manual a{color:#7A5A14;text-decoration:underline}.main-manual .badge{background:#5C4716!important;border-radius:2px}.main-manual .btn{font-family:inherit;border-radius:2px;background:#5C4716}.main-manual a.btn{color:#FDF9EF;text-decoration:none}.main-manual .btn-ghost,.main-manual a.btn-ghost{background:transparent;color:#5C4716;border:1px solid #a98a3c;text-decoration:none}.main-manual img{background:#fff;border:1px solid #d8c89e}