:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f7f8;--surface:#fff;--surface-soft:#f9fbfb;--ink:#142024;--muted:#637276;--line:#dce5e6;--line-strong:#c9d7d9;--teal:#0f766e;--teal-strong:#0b5f59;--teal-soft:#e7f5f3;--green:#18803d;--green-soft:#e8f7ee;--amber:#b7791f;--amber-soft:#fff4dc;--red:#b42318;--red-soft:#fff0ee;--shadow:0 10px 28px #132f330f;--radius:8px;font-family:Inter,Noto Sans JP,Yu Gothic UI,Hiragino Kaku Gothic ProN,Meiryo,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;color:var(--ink);margin:0}.login-shell{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:min(420px,100%);box-shadow:var(--shadow);padding:22px}.login-brand{color:var(--ink);margin-bottom:24px}.login-brand span{color:var(--muted)}.login-form{gap:16px;display:grid}.login-form h1{font-size:24px}.login-form p{color:var(--muted);font-size:13px;line-height:1.7}.login-form label{color:var(--muted);gap:7px;font-size:12px;font-weight:800;display:grid}.login-button{width:100%;margin:0}.login-error{background:var(--red-soft);color:var(--red);border:1px solid #f2beb7;border-radius:7px;padding:10px 12px;font-size:13px;font-weight:800}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:244px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#eff7f6;background:#102427;flex-direction:column;gap:28px;padding:24px 18px;display:flex}.brand{align-items:center;gap:12px;min-height:44px;display:flex}.brand-mark{color:#0b5f59;background:#d6f3ee;border-radius:8px;place-items:center;width:40px;height:40px;display:grid}.brand strong,.brand span{display:block}.brand strong{letter-spacing:0;font-size:17px}.brand span{color:#a9bcbd;margin-top:2px;font-size:12px}.nav-list{gap:6px;display:grid}.nav-item{color:#bfd1d2;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:11px;min-height:42px;padding:0 12px;font-size:14px;display:flex}.nav-item.active{color:#0d3a39;background:#d6f3ee;font-weight:700}.sidebar-note{border-radius:var(--radius);color:#d6f3ee;border:1px solid #d6f3ee38;gap:10px;margin-top:auto;padding:14px;display:flex}.sidebar-note p{color:#a9bcbd;margin:4px 0 0;font-size:12px;line-height:1.55}.main{min-width:0;padding:24px}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}h1,h2,h3,p{margin:0}h1{letter-spacing:0;font-size:25px;line-height:1.25}.topbar p,.panel-head p{color:var(--muted);margin-top:5px;font-size:13px;line-height:1.6}.top-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.primary-button,.ghost-button,.week-button,.icon-button{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--ink);border-radius:7px;align-items:center;gap:8px;padding:0 13px;font-size:13px;font-weight:700;display:inline-flex}.primary-button{background:var(--teal);color:#fff;border-color:var(--teal)}.primary-button:hover{background:var(--teal-strong)}.button-dot{background:var(--amber-soft);min-width:18px;min-height:18px;color:var(--amber);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;display:inline-flex}.ghost-button.small{min-height:32px;padding:0 10px}.inline-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.week-button{justify-content:space-between;min-width:178px}.icon-button{justify-content:center;width:34px;min-height:34px;padding:0}.table-action{width:32px;min-height:32px}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.metric-card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.metric-card{min-height:132px;padding:16px;position:relative}.metric-icon{background:var(--surface-soft);width:34px;height:34px;color:var(--teal);border-radius:7px;place-items:center;margin-bottom:16px;display:grid}.metric-card p{color:var(--muted);font-size:12px;font-weight:700}.metric-card strong{letter-spacing:0;margin-top:5px;font-size:30px;line-height:1.1;display:block}.metric-card span{color:var(--muted);margin-top:7px;font-size:12px;display:block}.metric-card.teal .metric-icon{background:var(--teal-soft)}.metric-card.green .metric-icon{background:var(--green-soft);color:var(--green)}.metric-card.amber .metric-icon{background:var(--amber-soft);color:var(--amber)}.content-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:14px;display:grid}.content-main{gap:14px;min-width:0;display:grid}.panel{min-width:0;overflow:hidden}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.panel-head.compact{min-height:58px}h2{letter-spacing:0;font-size:16px;line-height:1.35}h3{margin-bottom:8px;font-size:13px}.segmented{border:1px solid var(--line);border-radius:7px;flex-shrink:0;display:inline-flex;overflow:hidden}.segmented button{background:var(--surface);min-height:32px;color:var(--muted);border:0;padding:0 12px;font-size:12px;font-weight:700}.segmented button+button{border-left:1px solid var(--line)}.segmented .selected{background:var(--teal-soft);color:var(--teal-strong)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:780px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:12px 14px;font-size:13px}th{background:var(--surface-soft);color:var(--muted);font-size:12px;font-weight:800}tbody tr:last-child td{border-bottom:0}.dept-cell{align-items:center;gap:10px;min-width:152px;display:flex}.dept-cell strong,.dept-cell small{display:block}.dept-cell small{color:var(--muted);margin-top:2px;font-size:11px}.role-text{color:var(--muted);margin-top:3px;font-size:11px;display:block}.dept-dot{background:var(--teal);border-radius:999px;flex:none;width:10px;height:10px}.dept-dot.branch{background:#3867b6}.status-pill{border-radius:999px;justify-content:center;align-items:center;min-width:66px;min-height:26px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.status-pill.done{background:var(--green-soft);color:var(--green)}.status-pill.late,.status-pill.missed{background:var(--red-soft);color:var(--red)}.status-pill.planned{background:var(--amber-soft);color:var(--amber)}.next-cell{min-width:220px}.check-icon{color:var(--green)}.dash{color:var(--muted)}.lower-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.calendar-strip{grid-template-columns:repeat(5,minmax(88px,1fr));gap:8px;padding:14px;display:grid}.day-column{background:var(--surface-soft);border:1px solid var(--line);border-radius:7px;min-height:152px;padding:11px}.day-column strong{color:var(--teal-strong);margin-bottom:10px;display:block}.day-column span{border:1px solid var(--line);border-left:3px solid var(--teal);color:var(--ink);background:#fff;border-radius:6px;margin-bottom:8px;padding:8px;font-size:12px;line-height:1.35;display:block}.calendar-event b,.calendar-event small{display:block}.calendar-event b{font-size:12px;line-height:1.35}.calendar-event small{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.4}.day-column em{color:var(--muted);padding:8px 0;font-size:12px;font-style:normal;display:block}.report-box{gap:14px;padding:14px;display:grid}.report-line{border:1px solid var(--line);border-radius:7px;justify-content:space-between;gap:10px;padding:10px 12px;font-size:13px;display:flex}.report-line.warning{background:var(--amber-soft);border-color:#ead49e}.success-banner{background:var(--green-soft);color:var(--green);border:1px solid #bce8cc;border-radius:7px;align-items:center;gap:8px;min-height:38px;padding:0 12px;font-size:13px;font-weight:800;display:flex}.report-box ul{color:var(--ink);margin:0;padding-left:18px;font-size:13px;line-height:1.7}.report-box p{color:var(--muted);font-size:13px;line-height:1.65}.master-panel,.deployment-panel{min-height:126px}.master-grid,.deployment-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px;display:grid}.master-grid div,.deployment-grid div{border:1px solid var(--line);background:var(--surface-soft);border-radius:7px;min-height:70px;padding:13px}.master-grid strong,.master-grid span,.deployment-grid strong,.deployment-grid span{display:block}.master-grid strong{font-size:22px;line-height:1.2}.master-grid span{color:var(--muted);margin-top:6px;font-size:12px;font-weight:800}.deployment-grid span{color:var(--muted);font-size:12px;font-weight:800}.deployment-grid strong{margin-top:5px;font-size:17px;line-height:1.25}.deployment-grid p{color:var(--muted);margin-top:7px;font-size:12px;line-height:1.55}.staff-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 14px 0;display:grid}.staff-summary div{border:1px solid var(--line);background:var(--surface-soft);border-radius:7px;padding:12px}.staff-summary strong,.staff-summary span{display:block}.staff-summary strong{font-size:22px;line-height:1.2}.staff-summary span{color:var(--muted);margin-top:5px;font-size:12px;font-weight:800}.staff-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;display:grid}.staff-group{border:1px solid var(--line);background:var(--surface-soft);border-radius:7px;overflow:hidden}.staff-group-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:10px 12px;display:flex}.staff-group-head strong{font-size:13px;line-height:1.35}.staff-group-head span{background:var(--teal-soft);min-width:24px;height:24px;color:var(--teal);border-radius:999px;place-items:center;font-size:12px;font-weight:900;display:grid}.staff-list{display:grid}.staff-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:9px 12px;display:flex}.staff-row:last-child{border-bottom:0}.staff-row strong,.staff-row small{display:block}.staff-row strong{font-size:13px;line-height:1.35}.staff-row small{color:var(--muted);margin-top:2px;font-size:11px}.staff-row-actions{flex:none;align-items:center;gap:7px;display:flex}.staff-row-actions .icon-button{width:30px;height:30px}.staff-status{background:var(--green-soft);color:var(--green);white-space:nowrap;border-radius:999px;align-items:center;min-height:22px;padding:0 8px;font-size:11px;font-weight:900;display:inline-flex}.staff-status.leave{background:var(--amber-soft);color:var(--amber)}.readiness-mode{white-space:nowrap;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.readiness-mode.ready{background:var(--green-soft);color:var(--green)}.readiness-mode.warning{background:var(--amber-soft);color:var(--amber)}.readiness-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px;display:grid}.readiness-item{border:1px solid var(--line);background:var(--surface-soft);border-radius:7px;align-content:start;gap:9px;min-height:104px;padding:12px;display:grid}.readiness-item.ready{background:var(--green-soft);border-color:#bce8cc}.readiness-item.warning,.readiness-item.pending{background:var(--amber-soft);border-color:#ead49e}.readiness-item.blocked{background:var(--red-soft);border-color:#f2beb7}.readiness-item div{justify-content:space-between;align-items:center;gap:8px;display:flex}.readiness-item strong{font-size:13px;line-height:1.35}.readiness-item span{min-height:22px;color:var(--ink);white-space:nowrap;background:#ffffffb8;border-radius:999px;align-items:center;padding:0 7px;font-size:11px;font-weight:800;display:inline-flex}.readiness-item p{color:var(--muted);overflow-wrap:anywhere;font-size:12px;line-height:1.55}.log-list{display:grid}.log-row{border-top:1px solid var(--line);grid-template-columns:34px 1fr;align-items:start;gap:11px;padding:13px 16px;display:grid}.log-row:first-child{border-top:0}.log-icon{background:var(--amber-soft);width:34px;height:34px;color:var(--amber);border-radius:7px;place-items:center;display:grid}.log-icon.executive{background:var(--teal-soft);color:var(--teal-strong)}.log-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.log-title strong{font-size:13px}.log-title span,.log-row small{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:800}.log-row p{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:12px;line-height:1.55;display:-webkit-box;overflow:hidden}.log-row small{margin-top:5px;display:block}.log-empty{border-top:0}.history-list{display:grid}.history-row{border-top:1px solid var(--line);gap:8px;padding:14px 16px;display:grid}.history-row:first-child{border-top:0}.history-row-head,.history-next{justify-content:space-between;align-items:center;gap:10px;display:flex}.history-row-head strong{font-size:13px}.history-row-head span{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:800}.history-submitter{color:var(--muted);font-size:11px;font-weight:800}.history-row p{color:var(--ink);font-size:12px;line-height:1.6}.history-next span{background:var(--teal-soft);color:var(--teal-strong);border-radius:999px;flex:none;align-items:center;min-height:24px;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.history-next small{color:var(--muted);text-align:right;font-size:12px;line-height:1.45}.history-empty{border-top:0}.ops-rail{gap:14px;display:grid}.form-panel{padding-bottom:16px}.form-panel label{color:var(--muted);gap:7px;margin:14px 16px 0;font-size:12px;font-weight:800;display:grid}select,textarea,input{border:1px solid var(--line-strong);width:100%;color:var(--ink);background:#fff;border-radius:7px;min-height:38px;padding:9px 10px;font-size:13px;font-weight:600}textarea{resize:vertical;min-height:92px;line-height:1.55}.save-state,.count{background:var(--teal-soft);min-height:26px;color:var(--teal-strong);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.toggle-row{border:1px solid var(--line);background:var(--surface-soft);border-radius:7px;align-items:center;gap:12px;margin:16px;padding:12px;display:flex}.toggle-row p{color:var(--muted);margin-top:3px;font-size:12px}.toggle{background:#c7d4d6;border:0;border-radius:999px;flex:none;width:42px;height:24px;padding:3px}.toggle span{background:#fff;border-radius:999px;width:18px;height:18px;transition:transform .16s;display:block}.toggle.on{background:var(--teal)}.toggle.on span{transform:translate(18px)}.primary-button.full{justify-content:center;width:calc(100% - 32px);margin:0 16px}.reminder-row{border-top:1px solid var(--line);grid-template-columns:18px 1fr 34px;align-items:center;gap:10px;padding:13px 16px;display:grid}.reminder-row>svg{color:var(--red)}.reminder-row.sent>svg{color:var(--green)}.empty-state{border-top:1px solid var(--line);color:var(--green);gap:6px;padding:20px 16px;display:grid}.empty-state p{color:var(--muted);font-size:12px}.reminder-row strong{font-size:13px}.reminder-row p{color:var(--muted);margin-top:3px;font-size:12px}.target-list{display:grid}.target-row{border-top:1px solid var(--line);gap:7px;padding:12px 16px;display:grid}.target-row:first-child{border-top:0}.target-row-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.target-row-head strong{font-size:13px;line-height:1.35}.target-row-head span{background:var(--teal-soft);min-width:24px;height:24px;color:var(--teal);border-radius:999px;place-items:center;font-size:12px;font-weight:900;display:grid}.target-row p{color:var(--muted);overflow-wrap:anywhere;font-size:12px;line-height:1.55}.target-empty{border-top:1px solid var(--line)}.modal-backdrop{z-index:20;background:#0a181a6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);width:min(460px,100%);overflow:hidden;box-shadow:0 22px 60px #0b1f2338}.wide-modal{width:min(760px,100%)}.modal-head,.modal-actions{justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.modal-head{border-bottom:1px solid var(--line)}.modal-actions{border-top:1px solid var(--line);justify-content:flex-end}.modal-body{gap:14px;padding:16px;display:grid}.form-stack label{color:var(--muted);gap:7px;font-size:12px;font-weight:800;display:grid}.modal-body p{color:var(--muted);font-size:13px;line-height:1.7}.dialog-list{border:1px solid var(--line);border-radius:7px;overflow:hidden}.dialog-list span{padding:11px 12px;font-size:13px;font-weight:700;display:block}.dialog-list span+span{border-top:1px solid var(--line)}.report-textarea{white-space:pre;min-height:360px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.65}.toast{z-index:30;max-width:min(420px,100vw - 32px);min-height:48px;color:var(--green);background:#fff;border:1px solid #bce8cc;border-radius:8px;align-items:center;gap:10px;padding:12px 12px 12px 14px;font-size:13px;font-weight:800;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 18px 40px #0b1f232e}.toast span{color:var(--ink)}.toast button{color:var(--muted);background:0 0;border:0;place-items:center;padding:4px;display:grid}@media (width<=1180px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}.ops-rail{grid-template-columns:1fr 1fr}}@media (width<=860px){.app-shell{grid-template-columns:1fr;max-width:100vw;overflow-x:hidden}.sidebar{z-index:3;gap:12px;width:100%;min-width:0;max-width:100vw;padding:12px;position:sticky;top:0;overflow:hidden}.brand{min-width:0}.nav-list{width:100%;min-width:0;max-width:100%;padding-bottom:2px;display:flex;overflow-x:auto}.nav-item{flex:none}.sidebar-note{display:none}.main{width:100%;min-width:0;max-width:100vw;padding:16px;overflow-x:hidden}.topbar,.panel-head{flex-direction:column;align-items:stretch}.top-actions{justify-content:stretch}.top-actions>*{flex:auto}.lower-grid,.ops-rail{grid-template-columns:1fr}.master-grid,.deployment-grid,.staff-summary,.staff-grid,.readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-strip{display:flex;overflow-x:auto}.day-column{min-width:132px}}@media (width<=560px){h1{font-size:21px}.metrics-grid{grid-template-columns:1fr}.segmented{width:100%}.segmented button{flex:1}.master-grid,.deployment-grid,.staff-summary,.staff-grid,.readiness-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse;align-items:stretch}.modal-actions button{justify-content:center}}
