:root{--bg:#f4f5f7;--ink:#151c26;--muted:#667386;--line:#ccd3dd;--red:#e62f36;--blue:#3268a8;--shadow:0 5px 18px #142a4510;color-scheme:light;font-family:Inter,'Noto Sans JP',sans-serif;color:var(--ink);font-size:14px}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:11px;background:white;color:var(--ink);padding:10px 14px;transition:background 160ms,box-shadow 160ms,transform 160ms}button:hover{background:#edf4ff;border-color:#aac4e2;box-shadow:var(--shadow)}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.48}button.primary{background:var(--red);color:white;border-color:var(--red)}button.primary:hover{background:#cc2730}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #4a82e5;outline-offset:2px}button.active,.record.selected{background:#edf4ff;border-color:var(--blue)}input,select,textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:10px;background:white;padding:10px;color:var(--ink)}textarea{min-height:90px;resize:vertical}h1{font-size:28px;margin:0 0 8px}h2{font-size:20px;margin:0 0 8px}h3{font-size:16px;margin:0 0 8px}p{line-height:1.65}small,.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}
.header{height:108px;display:grid;grid-template-columns:300px minmax(160px,1fr) 290px;gap:28px;align-items:center;padding:16px 26px;background:white;border-bottom:1px solid var(--line)}.logo{width:100%;height:77px;object-fit:contain}.global-search{display:flex;align-items:center;background:#f7f8fa;border:1px solid var(--line);border-radius:16px;padding:8px 14px;gap:12px}.global-search>span:first-child{font-size:29px;color:var(--muted)}.global-search input{background:transparent;border:0}.identity{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.identity strong{font-size:16px}.identity span{font-size:12px}.app-shell{height:calc(100dvh - 108px);display:grid;grid-template-columns:268px minmax(0,1fr);gap:18px;padding:20px}.sidebar{min-height:0;display:flex;flex-direction:column}.menu-heading{padding:0 8px 12px}.menu-heading small{letter-spacing:2px;font-weight:700}.menu-heading h2{margin-top:4px}nav{overflow-y:auto;min-height:80px;flex:1;padding:2px 5px 14px;scrollbar-width:thin}.nav-item{display:flex;align-items:center;width:100%;text-align:left;padding:13px 12px;margin-bottom:9px;border-radius:15px;box-shadow:var(--shadow);gap:10px}.nav-item .icon{background:#f7f8fa;border-radius:11px;width:35px;height:35px;display:grid;place-items:center;font-size:19px;color:var(--red)}.nav-item small{display:block;font-size:11px;margin-top:3px}.nav-item.active{border-left:4px solid var(--red)}.nav-item.active strong{color:#b9232b}.mini-calendar{flex-shrink:0;background:white;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow)}#workspace{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,56fr) minmax(0,44fr);gap:18px}.center,.detail{min-width:0;min-height:0;overflow:auto;border:1px solid var(--line);border-radius:23px;background:white;padding:23px;box-shadow:var(--shadow);scrollbar-width:thin}.center.dashboard{display:flex;flex-direction:column;overflow:hidden}.dashboard .record-list{min-height:85px;flex:1;overflow:auto}.dashboard .month-calendar{flex-shrink:0;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.actions,.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:14px 0}.toolbar input[type=search]{flex:1;min-width:140px}.toolbar select{width:auto;max-width:100%}.scope{border:1px solid #bed9f5;background:#f1f7fd;border-radius:13px;padding:12px;margin:10px 0}.scope button{padding:7px 10px}.record-list{display:flex;flex-direction:column;gap:10px}.record{display:block;text-align:left;width:100%;border:1px solid var(--line);padding:14px;border-radius:15px;box-shadow:0 2px 8px #142a4508;background:white}.record-head{display:flex;justify-content:space-between;gap:12px}.record strong{font-size:16px}.record small{display:block;margin-top:6px;line-height:1.5}.badge{display:inline-block;white-space:normal;font-size:11px;line-height:1.45;padding:5px 9px;border-radius:8px;background:#ebedf1;color:#536071}.badge.info{background:#eaf2ff;color:#2d5d98}.badge.warn{background:#fff5db;color:#795c17}.badge.danger{background:#fdecee;color:#a32b35}.badge.success{background:#eaf6ef;color:#276644}.detail-card{border:1px solid var(--line);border-radius:15px;padding:16px;margin:14px 0;background:#fcfcfd}.detail-card dl{display:grid;grid-template-columns:minmax(92px,36%) 1fr;gap:10px;margin:0}.detail-card dt{font-size:12px;color:var(--muted)}.detail-card dd{margin:0;word-break:break-word;white-space:pre-wrap}.detail-card dd:empty:after{content:'未入力';color:var(--muted)}.tire-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tire-card{border:1px solid var(--line);background:#f7f8fa;border-radius:15px;padding:14px}.depth{font-size:29px;font-weight:700;margin:9px 0}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photo-grid img{width:100%;border-radius:12px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:7px}.calendar-heading button{padding:5px 9px;font-size:12px}.calendar-heading strong{font-size:14px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.weekday{text-align:center;font-size:11px;padding:3px}.weekday:first-child{color:#b52e39}.weekday:last-child{color:#3268a8}.calendar-day{min-width:0;padding:5px 1px;border-radius:7px;font-size:12px;border:1px solid transparent;background:#f7f8fa;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:39px}.calendar-day small{font-size:10px;color:inherit}.calendar-day.outside{opacity:.42}.calendar-day.today{font-weight:700;text-decoration:underline}.calendar-day.selected{outline:2px solid var(--blue);outline-offset:-1px}.calendar-day.closed{background:#e1e4e9;color:#667386}.calendar-day.stopped{background:#ebedf1;color:#667386}.calendar-day.rate0{background:#f1f7fd}.calendar-day.rate1{background:#dfedfb}.calendar-day.rate2{background:#bed9f5}.calendar-day.rate3{background:#ffe4af}.calendar-day.rate4{background:#f8c9c1}.calendar-day.rate5{background:#a32b35;color:white}.month-calendar .calendar-day{min-height:39px}.notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:min(720px,90vw);padding:14px 22px;background:#253448;color:white;border-radius:14px;box-shadow:var(--shadow);z-index:50}.notice.error{background:#8d2630}.empty{padding:24px;color:var(--muted);border:1px dashed var(--line);border-radius:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label{font-size:12px;color:var(--muted)}.form-grid label input,.form-grid label select,.form-grid label textarea{margin-top:6px}.form-grid label.full{grid-column:1/-1}.form-grid input[type=checkbox]{width:22px;height:22px;display:block}dialog{border:1px solid var(--line);border-radius:22px;max-width:min(740px,94vw);width:700px;max-height:90vh;padding:25px;box-shadow:0 18px 70px #13213933}dialog::backdrop{background:#15202f70}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.dialog-heading button{font-size:20px}dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}#edit-conflict{color:#a32b35;white-space:pre-wrap;line-height:1.6;margin-top:12px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}.metric{padding:12px;border:1px solid var(--line);border-radius:12px}.metric strong{font-size:23px;display:block}.metric small{font-size:10px}.skeleton{height:190px;background:linear-gradient(110deg,#f7f8fa,#eef1f6,#f7f8fa);border-radius:16px}.qr-display{text-align:center}.qr-display svg{max-width:210px;width:100%;height:auto}.history{border-left:3px solid #bed9f5;padding:7px 13px;margin:10px 0}#print-label{display:none}
@media(max-width:1399px){.header{height:92px;grid-template-columns:255px 1fr 240px;gap:16px;padding:10px 20px}.logo{height:66px}.app-shell{height:calc(100dvh - 92px);grid-template-columns:235px minmax(0,1fr);padding:15px;gap:14px}#workspace{gap:14px}.center,.detail{padding:18px}.nav-item{padding:10px;margin-bottom:7px}.mini-calendar{padding:9px}.calendar-day{min-height:34px}.menu-heading h2{font-size:19px}h1{font-size:25px}.month-calendar .calendar-day{min-height:32px}}
@media(max-width:1150px){.header{grid-template-columns:215px 1fr 195px;gap:12px}.app-shell{grid-template-columns:205px minmax(0,1fr);gap:10px;padding:10px}.center,.detail{padding:14px;border-radius:17px}#workspace{gap:10px}.nav-item small{display:none}.nav-item .icon{width:27px;height:27px}.nav-item{padding:9px;font-size:12px}.menu-heading{padding-bottom:7px}h1{font-size:23px}.calendar-day{min-height:30px}.mini-calendar{padding:7px}.calendar-heading strong{font-size:12px}.form-grid{gap:10px}.detail-card{padding:12px}.detail-card dl{grid-template-columns:90px 1fr}.month-calendar .calendar-day{min-height:30px}}
@media(max-width:800px){.header{height:auto;min-height:85px;grid-template-columns:180px 1fr;padding:10px}.logo{height:54px}.global-search{grid-column:1/-1;grid-row:2;padding:2px 8px}.identity{font-size:11px}.app-shell{height:auto;min-height:calc(100dvh - 135px);display:block}.sidebar{display:block}.menu-heading,.mini-calendar{display:none}nav{display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding:4px 0 10px}.nav-item{flex:0 0 auto;width:auto;white-space:nowrap;margin:0;padding:8px}.nav-item .icon{display:none}#workspace{grid-template-columns:1fr}.center,.detail{overflow:visible}.center.dashboard{overflow:visible}.dashboard .record-list{max-height:340px}.detail{margin-top:4px}.form-grid{grid-template-columns:1fr}.header strong{font-size:13px}.month-calendar .calendar-day{min-height:45px}.metrics{margin:10px 0}.record{padding:12px}}
/* "左9メニューを通常高さに収め、低い画面だけカレンダーをボタン展開にする。中央の月間カレンダーは変更しない" */
.mini-calendar .calendar-day{min-height:22px;padding:1px;font-size:11px;gap:0}
.mini-calendar .calendar-day small{display:none}
.mini-calendar .calendar-grid{gap:2px}.mini-calendar .calendar-heading{margin-bottom:3px}.mini-calendar>small{font-size:10px}
.photo-full{width:100%;grid-column:1/-1}.calendar-toggle{display:none}.sidebar nav{flex:1;padding-bottom:6px}
@media(min-width:801px) and (max-height:850px){.menu-heading{padding:0 8px 7px}.menu-heading h2{font-size:17px;margin:0}.menu-heading>small{display:none}.nav-item{padding:5px 9px;margin-bottom:4px;border-radius:11px;min-height:37px}.nav-item .icon{width:25px;height:25px;font-size:17px}.nav-item small{display:none}.mini-calendar{padding:7px;border-radius:12px}.mini-calendar .calendar-day{min-height:21px}.mini-calendar .calendar-heading strong{font-size:12px}.mini-calendar .calendar-heading button{padding:3px 6px}}
@media(min-width:801px) and (max-height:680px){.sidebar{position:relative}.calendar-toggle{display:block;width:100%;margin-top:5px;padding:7px}.mini-calendar{display:none;position:absolute;bottom:38px;left:0;width:100%;z-index:20;box-shadow:0 4px 20px #13213940}.sidebar.calendar-open .mini-calendar{display:block}.nav-item{min-height:36px;padding:5px 8px;margin-bottom:4px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.quote-line{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;border-top:1px solid var(--line);padding-top:12px}.quote-line[hidden]{display:none}#print-document{display:none}#edit-fields table{width:100%;border-collapse:collapse}#edit-fields td,#edit-fields th{padding:8px;border-bottom:1px solid var(--line);text-align:left}
@media print{@page label{size:62mm 40mm;margin:3mm}@page document{size:A4;margin:15mm}body>*{display:none!important}body:not(.document-print) #print-label{page:label;display:flex!important;align-items:center;gap:3mm;width:56mm;height:34mm;background:white;color:black;font-size:9pt}#print-label svg{width:30mm;height:30mm}#print-label .label-text{max-width:23mm;word-break:break-all}#print-label small{display:block;color:black;font-size:7pt}body.document-print #print-document{page:document;display:block!important;color:black;font-size:11pt}#print-document table{width:100%;border-collapse:collapse}#print-document td,#print-document th{border-bottom:1px solid #777;padding:8px;text-align:left}#print-document .detail-card{break-inside:avoid;box-shadow:none}}
