:root{--navy:#17324d;--blue:#176b87;--green:#247158;--red:#b23a3a;--gold:#b48538;--bg:#f3f5f7;--line:#d9e0e5;--text:#18242e;--muted:#667785;--white:#fff;--radius:14px;--shadow:0 8px 24px rgba(20,42,62,.08)}
*{box-sizing:border-box}html{font-family:"Noto Sans JP","Yu Gothic UI",Meiryo,sans-serif;color:var(--text);background:var(--bg)}body{margin:0}button,input,select,textarea{font:inherit}a{color:var(--blue)}button{cursor:pointer}.app-shell{min-height:100vh}.side{position:fixed;inset:0 auto 0 0;width:248px;background:var(--navy);color:#fff;padding:22px 16px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;padding:0 6px 22px;border-bottom:1px solid rgba(255,255,255,.14)}.brand img{border-radius:50%;background:#fff}.brand span{display:grid}.brand small{color:#b9c9d7;margin-top:3px}.side nav{display:grid;gap:5px;padding-top:20px}.side nav a{padding:11px 13px;border-radius:9px;color:#dce8f1;text-decoration:none}.side nav a:hover,.side nav a.active{background:rgba(255,255,255,.14);color:#fff}.side-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.14);padding:16px 8px 0;display:grid;gap:4px}.side-user small{color:#b9c9d7}.lang-link{color:#dce8f1;text-decoration:none;font-weight:700;font-size:13px}.link-button{border:0;background:none;color:#fff;padding:8px 0;text-align:left}.main{margin-left:248px;padding:30px 34px 70px;max-width:1600px}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:22px}.page-head h1{font-size:28px;margin:2px 0}.page-head p{margin:5px 0;color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.15em;text-transform:uppercase}.mobile-head,.mobile-dock{display:none}.cards{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:14px}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.metric{display:block;padding:18px;text-decoration:none;color:var(--text)}.metric span{display:block;color:var(--muted);font-size:13px}.metric strong{display:block;font-size:28px;margin-top:8px}.metric.money strong{font-size:23px}.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.quick a{padding:22px;text-decoration:none;font-weight:700;text-align:center}.panel{padding:20px;margin-top:18px}.panel h2{font-size:18px;margin:0 0 16px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:15px}.field{display:grid;gap:6px}.field label,.label{font-size:13px;font-weight:700;color:#40515f}.field input,.field select,.field textarea,.input{border:1px solid #bdc9d2;border-radius:9px;padding:10px 12px;background:#fff;min-height:42px}.field textarea{min-height:92px;resize:vertical}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--navy);border-radius:9px;padding:10px 16px;background:var(--navy);color:#fff;text-decoration:none;font-weight:700}.btn.secondary{background:#fff;color:var(--navy)}.btn.danger{background:var(--red);border-color:var(--red)}.btn.small{font-size:13px;padding:7px 11px}.notice{padding:13px 16px;border-radius:10px;margin-bottom:16px}.notice.success{background:#e4f4ec;color:#15543d}.notice.error{background:#fbe7e7;color:#842b2b}.table-scroll{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{font-size:12px;color:var(--muted);background:#f8fafb}.number{font-size:20px;font-weight:800;letter-spacing:.05em}.badge{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700;background:#e8edf1}.badge.accepted{color:#75520d;background:#fff1cb}.badge.processing{color:#13536b;background:#d9f1fa}.badge.finished{color:#165c43;background:#daf2e8}.badge.delivered{color:#4d5963;background:#e8edf1}.badge.cancelled{color:#8b2929;background:#f9dddd}.muted{color:var(--muted);font-size:13px}.amount{font-variant-numeric:tabular-nums;font-weight:700}.garment{border:1px solid var(--line);border-radius:11px;padding:14px;margin-top:12px}.service-row{display:grid;grid-template-columns:1.8fr 1.2fr .55fr 1fr 1fr auto;gap:10px;margin-top:10px;align-items:end}.service-field{display:grid;gap:5px}.service-field label{font-size:11px;font-weight:700;color:var(--muted)}.line-amount{min-height:42px;padding:10px 8px;border-radius:9px;background:#f3f6f8;font-weight:800;white-space:nowrap}.garment-head{display:grid;grid-template-columns:2fr .7fr 2fr auto;gap:10px}.totals-box{display:grid;grid-template-columns:1.4fr .8fr;gap:16px;margin-top:20px;align-items:start}.totals-panel{border:1px solid var(--line);border-radius:11px;padding:16px;background:#f8fafb;display:grid;gap:12px}.totals-panel .big-number{margin:0}.timeline{list-style:none;padding:0;margin:0}.timeline li{border-left:3px solid var(--line);padding:0 0 15px 15px}.scan-box{max-width:620px;margin:auto;text-align:center}.scan-video{width:100%;max-height:55vh;background:#0b141b;border-radius:14px}.scan-result{padding:18px;margin-top:14px;text-align:left}.big-number{font-size:38px;font-weight:800;letter-spacing:.08em}.print-label{max-width:760px;margin:auto}.label-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.qr-slot svg,.qr-slot canvas{max-width:100%;height:auto}.auth{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:min(430px,100%);background:#fff;padding:30px;border-radius:18px;box-shadow:var(--shadow)}.auth-card .brand{color:var(--text);border:0;justify-content:center}.auth-card form{display:grid;gap:15px;margin-top:20px}.backdrop{position:fixed;inset:0;background:rgba(5,17,27,.45);z-index:15}
@media(max-width:1100px){.cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.mobile-head{position:sticky;top:0;z-index:14;height:56px;background:var(--navy);color:#fff;display:flex;align-items:center;gap:12px;padding:0 14px}.mobile-head span{margin-left:auto;font-size:13px}.nav-toggle{border:0;background:none;color:#fff;font-size:22px}.side{transform:translateX(-100%);transition:transform .18s}.side.open{transform:translateX(0)}.main{margin-left:0;padding:18px 14px 82px}.page-head h1{font-size:23px}.mobile-dock{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;inset-inline:0;background:#fff;border-top:1px solid var(--line);z-index:13;padding-bottom:env(safe-area-inset-bottom)}.mobile-dock a{text-align:center;padding:12px 4px;color:var(--navy);text-decoration:none;font-size:12px;font-weight:700}.cards{grid-template-columns:repeat(2,1fr)}.quick{grid-template-columns:1fr}.grid-2,.grid-3,.totals-box{grid-template-columns:1fr}.garment-head,.service-row{grid-template-columns:1fr}.form-actions{position:sticky;bottom:58px;background:var(--bg);padding:10px 0}.label-grid{grid-template-columns:1fr}}
@media(max-width:430px){.cards{grid-template-columns:1fr 1fr;gap:9px}.metric{padding:13px}.metric strong{font-size:23px}.panel{padding:15px}}
@media print{body{background:#fff}.side,.mobile-head,.mobile-dock,.page-head,.no-print{display:none!important}.main{margin:0;padding:0}.panel{border:0;box-shadow:none;padding:0}.print-label{max-width:none}.label-grid{grid-template-columns:1fr 1fr}.qr-slot canvas,.qr-slot img{width:42mm!important;height:42mm!important}@page{size:A4;margin:10mm}}
