/* NST-inspired blue/orange palette; white work surfaces for daily use. */
:root{font-family:"BIZ UDPGothic","Yu Gothic UI","Meiryo",sans-serif;font-size:15px;line-height:1.6;color:#23344e;background:#f2f5fa;--ink:#203657;--accent:#284f96;--muted:#586a80;--line:#d9e1eb;--orange:#e79a32;--soft:#eaf1fc}
body{background:#f2f5fa}h1,h2,h3{color:var(--ink);line-height:1.45;letter-spacing:0}h1{font-size:28px;font-weight:750}h2{font-size:20px}h3{font-size:16px}p{line-height:1.85}small,.muted{font-size:13px;color:var(--muted)}a{color:var(--accent);text-underline-offset:3px}
button{font-size:14px;border-color:#c9d5e4;border-radius:9px;min-height:44px;padding:10px 16px;line-height:1.5;transition:background .15s,border-color .15s}button:hover{background:#edf3fc;border-color:#93acd0}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 4px #284f9618}button.primary:hover{background:#1e3e79}button.link{color:#284f96}button.danger{color:#ae303e}button:disabled{opacity:.6}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #e79a32;outline-offset:3px}
label{font-size:14px;font-weight:700;color:#344b69;gap:8px}input,select,textarea{font-size:16px;line-height:1.6;min-height:46px;border:1px solid #adbed3;border-radius:8px;background:#fff;padding:10px 12px;box-shadow:inset 0 1px 2px #20365704}input:hover,select:hover,textarea:hover{border-color:#6f8eb8}input:focus,select:focus,textarea:focus{outline:3px solid #284f9626;border-color:#284f96}input::placeholder,textarea::placeholder{color:#6c7e92;opacity:1}input[readonly],input:disabled{background:#edf1f6;color:#526379}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:20px;accent-color:var(--accent);box-shadow:none;vertical-align:middle}input[type=file]{padding:9px}textarea{min-height:120px}.formgrid{gap:20px}.actions{flex-wrap:wrap;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.shell{grid-template-columns:244px minmax(0,1fr)}.side{background:#203e75;color:#fff;border:0;padding:24px 16px;gap:20px;scrollbar-width:thin;scrollbar-color:#8197bb transparent}.side .brand{padding:0 8px;font-size:21px;color:#fff}.brandmark{background:var(--accent);border-radius:10px;border-bottom:3px solid var(--orange);width:36px;height:36px}.side .brandmark{background:#fff;color:#284f96}.brand span,.side .brand span{color:#d2dff1;font-size:11px;letter-spacing:1px}.side nav{gap:5px}.side nav button{font-size:14px;font-weight:500;line-height:1.6;padding:11px 12px;color:#eaf0fb;border:1px solid transparent;text-align:left;border-radius:8px;min-height:46px}.side nav button:hover{background:#ffffff13;border-color:#ffffff26}.side nav button.active{background:#fff;color:#203e75;font-weight:750;box-shadow:inset 4px 0 var(--orange)}.side nav i{width:26px}.nav-label{font-size:12px;font-weight:700;letter-spacing:.08em;color:#bacde9;margin:18px 12px 4px}.side .user{border-top:1px solid #ffffff30;margin-top:auto;padding:18px 8px 0}.side .user small{color:#d2dff1}.side .user .link{color:#fff}.side .user .tag{background:#ffffff18;color:#eaf0fb}.side .user .link:hover{background:#ffffff15}
.main{max-width:1600px;padding:32px clamp(22px,3vw,48px) 64px;margin:0 auto}.top{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #d5dfed;align-items:flex-start}.eyebrow{font-size:11px;letter-spacing:1.3px;color:#536e96;margin-bottom:7px}.section{margin:28px 0}.section-head{gap:16px;flex-wrap:wrap}.section-head h2{padding-left:12px;border-left:4px solid var(--orange)}.card{padding:24px;border:1px solid #d9e3ee;border-radius:14px;box-shadow:0 3px 12px #20365705}.card.clickable:hover{border-color:#7796c3;box-shadow:0 5px 18px #2036570e}.card.alert{border-left:4px solid #db8d2f}.card footer{border-color:#e2e9f2;font-size:13px}.grid,.two{gap:18px}.stats{border-color:#d9e3ee;border-radius:14px;box-shadow:0 3px 12px #20365705}.stat{padding:22px 18px;border-top:3px solid #9db5dc}.stat:last-child{border-top:3px solid #e79a32}.stat span{font-size:13px;color:#516582}.stat strong,.stat button{font-size:30px;color:#284f96;letter-spacing:0;font-variant-numeric:tabular-nums}.numbers strong{color:#284f96;font-variant-numeric:tabular-nums}.numbers span{font-size:13px}.tag{font-size:12px;line-height:1.5;padding:4px 9px;background:#eaf1fc;color:#294f8a;font-weight:700}.tag.warn{background:#fff1d9;color:#89510c}.tag.good{background:#e5f4ec;color:#256144}.row{padding:15px 0;align-items:flex-start}.row p{font-size:13px}.empty{background:#f8fafc;font-size:14px;border-color:#c8d5e5;color:#586b84}.notice{border-left:3px solid #e0a143;background:#fff9ee;border-radius:0 7px 7px 0;padding:12px 14px;color:#5b513e;font-size:13px}.feedback{background:#ecf3fd;color:#284465;font-size:14px}.review-text{font-size:14px}.timeline{border-color:#b8cbed}.timeline p{font-size:14px}
table{font-size:14px;line-height:1.65}th,td{padding:13px 12px;vertical-align:top}th{font-size:13px;color:#3f5879;background:#edf2f9;font-weight:700}tbody tr:nth-child(even){background:#f8fafd}tbody tr:hover{background:#edf3fc}td{font-variant-numeric:tabular-nums}.scroll{max-width:100%;border:1px solid #dce4ef;border-radius:10px}table button.link{white-space:nowrap}.lane{background:#e7edf6}.lane h3{font-size:14px;color:#4d6486}.lane .card p{font-size:13px}.lane .card h3{font-size:15px}.toolbar{gap:10px}.toolbar input,.toolbar select{min-width:140px}.big-input input{font-size:28px;color:#284f96;background:#f8fbff}summary{font-size:14px;color:#284f96}details>summary{border-bottom:1px solid #e0e7f0}dialog{color:#23344e;background:#fff;padding:28px;border:1px solid #d3deec;border-top:5px solid #284f96;border-radius:16px;max-width:94vw}dialog::backdrop{background:#14284588;backdrop-filter:blur(3px)}dialog h2{padding-right:90px}dialog form{display:grid;gap:16px}dialog .close{font-size:13px}#toast{background:#203e75;font-size:14px}.login{max-width:480px;margin:7vh auto;padding:36px;border-top:5px solid #284f96;box-shadow:0 12px 40px #2036570c}.login .brand{margin-bottom:30px;color:#203e75;font-size:22px}.login h1{font-size:27px}.login .actions{border:0;padding:0}.login .actions button{width:100%}.login form{gap:20px}.login .notice{margin-bottom:0}.menu-toggle{display:none}
@media(max-width:1000px) and (min-width:761px){.shell{grid-template-columns:218px minmax(0,1fr)}.main{padding:26px 22px}.two{grid-template-columns:1fr}.side nav button{font-size:13px}}
@media(max-width:760px){.shell{display:block}.side{position:static;height:auto;padding:14px 16px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.side .brand{font-size:19px;padding:0}.side .brand span{font-size:10px;margin-top:3px}.menu-toggle{display:block;background:#ffffff15;color:#fff;border:1px solid #ffffff55;font-size:13px;min-width:84px}.menu-toggle:hover{background:#ffffff25}.side nav{display:none;flex-basis:100%;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 0 0;background:transparent;gap:6px}.side .user{display:none;flex-basis:100%;margin:0}.side.menu-open nav{display:grid}.side.menu-open .user{display:block}.side nav button{font-size:13px;display:block}.side nav .nav-label{grid-column:1/-1}.main{padding:22px 16px 40px}.top{padding-bottom:18px;margin-bottom:22px}.top .toolbar{width:100%}h1{font-size:23px}h2{font-size:18px}.card{padding:18px}.section{margin:24px 0}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:16px}.stat strong,.stat button{font-size:27px}.stat span{font-size:12px}.two{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr;gap:16px}.formgrid .full,.formgrid .mobile-full{grid-column:1}.grid{grid-template-columns:1fr}.toolbar input,.toolbar select{min-width:0;flex:1 1 140px}.login{margin:24px 16px;padding:26px 22px;max-width:none}.login h1{font-size:24px}dialog{padding:20px 16px;max-height:92dvh;width:calc(100vw - 20px);max-width:none}dialog h2{font-size:19px}.actions{justify-content:stretch}.actions button{flex:1}.row{flex-wrap:wrap}th,td{padding:11px 10px}#toast{bottom:18px;left:16px;right:16px}.section-head .primary{width:100%}}
@media(prefers-reduced-motion:reduce){button{transition:none}}

.entry-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;margin:0 0 24px;border:1px solid #cad8ed;border-left:5px solid #24539b;border-radius:14px;background:#f1f6ff}.entry-toolbar p{margin:5px 0 0;color:#4b5c73}.entry-toolbar .toolbar{margin:0;flex-wrap:wrap}.entry-toolbar button{min-height:46px;font-weight:700}@media(max-width:680px){.entry-toolbar{align-items:stretch;flex-direction:column}.entry-toolbar .toolbar{display:flex;flex-direction:column}.entry-toolbar button{width:100%}}
