*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f4f6f8;color:#16202a}.layout{display:flex;min-height:100vh}aside{width:245px;background:#101820;color:white;padding:28px 18px;position:fixed;inset:0 auto 0 0;height:100vh;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.brand{font-size:23px;font-weight:800;letter-spacing:1px}.brand span{display:block;color:#ffb000;font-size:11px;letter-spacing:4px}.brand.large{font-size:32px;margin-bottom:18px}nav{margin-top:40px;display:grid;gap:8px;padding-bottom:28px}nav a{color:#dce3e8;text-decoration:none;padding:12px 14px;border-radius:8px}nav a:hover{background:#25323d;color:#fff}main{margin-left:245px;width:calc(100% - 245px);padding:32px}.login-main{margin:0;width:100%;display:grid;place-items:center;background:linear-gradient(135deg,#101820,#263747)}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}h1{margin:0;font-size:30px}header p{margin:6px 0;color:#73808b}.user,.badge{background:#e8eef2;padding:6px 11px;border-radius:999px;font-size:13px}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:22px}.card,.panel,.login-card{background:white;border-radius:14px;box-shadow:0 4px 18px rgba(20,35,50,.07)}.card{padding:20px}.card b{font-size:32px;display:block}.card span{color:#72808a}.card.danger b{color:#c33}.panel{padding:22px;margin-bottom:20px;overflow:auto}.panel h2{margin-top:0;font-size:18px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:13px;border-bottom:1px solid #e5e9ec;text-align:left;font-size:14px}th{color:#63717c;background:#f8fafb}.grid-form{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.grid-form button{grid-column:auto}input,select,button{font:inherit;border-radius:8px;border:1px solid #ccd5db;padding:11px 12px}button,.button-link{background:#f5a900;color:#101820;border:0;font-weight:700;cursor:pointer;text-decoration:none;padding:10px 14px;border-radius:8px;display:inline-block}button:hover,.button-link:hover{filter:brightness(.95)}button.small{padding:7px 10px;font-size:12px}button.secondary{background:#dce4e9}.danger-btn{background:#d75b5b;color:white}.inline{display:flex;gap:6px}.low td{background:#fff2f2}.login-card{width:min(420px,92vw);padding:36px}.login-card label{display:grid;gap:6px;margin:14px 0}.login-card button{width:100%;margin:8px 0 15px}.login-card small,.login-card p{color:#73808b}.alert{padding:10px;background:#fff0f0;color:#b22;border-radius:8px}.qr-panel{text-align:center;max-width:500px}.qr-panel img{width:280px;max-width:80%}@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.grid-form{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){aside{position:static;width:100%;height:auto;max-height:none;overflow:visible;scrollbar-gutter:auto}.layout{display:block}main{margin:0;width:100%;padding:18px}nav{grid-template-columns:repeat(2,1fr);margin-top:18px}.cards,.grid-form{grid-template-columns:1fr}header h1{font-size:24px}}
.cards.six{grid-template-columns:repeat(6,1fr)}.search{display:flex;gap:8px}.search input{min-width:320px;flex:1}.secondary-link{background:#dce4e9}.thumb{width:72px;height:52px;object-fit:cover;border-radius:7px}.preview{max-width:360px;max-height:240px;object-fit:contain;border-radius:10px;margin-bottom:18px}.inactive{opacity:.48}.wrap{flex-wrap:wrap}small{color:#66747d}@media(max-width:1200px){.cards.six{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.cards.six{grid-template-columns:1fr}.search{display:grid}.search input{min-width:0}}
.inline{display:inline-flex;gap:6px;align-items:center;margin-left:6px}.inline input,.inline select{width:auto;min-width:120px}.button-link{display:inline-block;padding:8px 11px;border-radius:8px;background:#eef2ff;color:#1e40af;text-decoration:none;font-weight:700}.payform{flex-wrap:wrap}.payform input[type=number]{width:105px}@media(max-width:900px){table{font-size:12px}.inline{display:flex;margin:6px 0}.layout aside{width:190px}}

.notice{padding:11px 14px;background:#edf8ef;color:#28633a;border-radius:8px;margin-bottom:16px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.panel-head h2{margin-bottom:4px}.actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.edit-grid label,.gridform label{display:grid;gap:6px}.form-actions{display:flex;gap:8px;align-items:end}.totals{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.totals strong{font-size:18px}.item-edit-row{display:grid;grid-template-columns:minmax(260px,3fr) 100px 140px 140px auto;gap:8px;align-items:center}.item-delete{display:inline-block;margin-top:6px}.gridform{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}@media(max-width:900px){.panel-head{display:block}.item-edit-row{grid-template-columns:1fr}.edit-grid,.gridform{grid-template-columns:1fr}.totals{margin-top:10px}}
.side-user{margin-top:18px;padding:10px 12px;background:#1c2933;border-radius:9px;font-size:13px}.side-user small{display:block;color:#ffb000;margin-top:3px}.logo-preview{display:block;margin-top:8px;max-height:80px;max-width:180px}.wide{grid-column:1/-1}.panel input[type=file]{background:white}

/* Sidebar scrollbar */
aside::-webkit-scrollbar{width:10px}aside::-webkit-scrollbar-track{background:#101820}aside::-webkit-scrollbar-thumb{background:#4a5965;border-radius:10px;border:2px solid #101820}aside::-webkit-scrollbar-thumb:hover{background:#657582}aside{scrollbar-width:thin;scrollbar-color:#4a5965 #101820}

/* Mobile app layout / hamburger menu */
.mobile-topbar,.sidebar-overlay,.menu-close{display:none}
@media(max-width:720px){
  html,body{max-width:100%;overflow-x:hidden}
  body{padding-top:58px}
  body.menu-open{overflow:hidden}
  .layout{display:block;min-height:calc(100vh - 58px)}
  .mobile-topbar{display:flex;position:fixed;z-index:1200;left:0;right:0;top:0;height:58px;background:#101820;color:#fff;align-items:center;gap:10px;padding:0 12px;box-shadow:0 2px 12px rgba(0,0,0,.18)}
  .menu-toggle,.menu-close{display:grid;place-items:center;background:transparent;color:#fff;border:0;padding:0;width:42px;height:42px;border-radius:9px;font-size:28px;line-height:1}
  .menu-toggle:hover,.menu-close:hover{background:#25323d;filter:none}
  .mobile-title{font-weight:800;font-size:14px;letter-spacing:.7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
  .mobile-title span{color:#ffb000}
  .mobile-user{font-size:11px;color:#dce3e8;max-width:88px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sidebar-overlay{display:block;position:fixed;z-index:1090;inset:58px 0 0;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .2s ease}
  body.menu-open .sidebar-overlay{opacity:1;pointer-events:auto}
  .layout aside,#sidebar{position:fixed!important;z-index:1100;top:58px!important;left:0!important;bottom:0!important;width:min(84vw,320px)!important;height:auto!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;padding:20px 16px!important;transform:translateX(-105%);transition:transform .22s ease;box-shadow:8px 0 24px rgba(0,0,0,.22)}
  body.menu-open #sidebar{transform:translateX(0)}
  .sidebar-mobile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
  #sidebar>.brand{display:none}
  .sidebar-mobile-head .brand{display:block;font-size:20px}
  .side-user{margin-top:14px}
  #sidebar nav{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;margin-top:16px!important;padding-bottom:24px}
  #sidebar nav a{padding:12px 13px;font-size:15px}
  main{margin-left:0!important;width:100%!important;padding:14px!important;min-width:0}
  header:not(.mobile-topbar){display:block;margin-bottom:16px}
  header:not(.mobile-topbar) h1{font-size:23px;line-height:1.25;margin-bottom:6px}
  .cards,.cards.six{grid-template-columns:1fr!important;gap:10px}
  .card{padding:16px}.card b{font-size:26px}
  .panel{padding:14px;border-radius:11px;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .panel-head{display:block}.panel-head .actions{margin-top:10px}
  .grid-form,.gridform,.edit-grid{grid-template-columns:1fr!important}
  .wide{grid-column:auto}
  .form-actions{display:flex;flex-wrap:wrap;align-items:stretch}.form-actions>*{flex:1 1 140px}
  input,select,textarea,button{max-width:100%;font-size:16px}
  input,select,textarea{width:100%}
  button,.button-link{min-height:42px}
  .search{display:grid!important;grid-template-columns:1fr;gap:8px}.search input{min-width:0!important;width:100%}
  .inline{display:flex!important;flex-wrap:wrap;margin:6px 0!important}.inline input,.inline select{width:100%!important;min-width:0!important}
  table{min-width:720px}
  th,td{padding:10px;font-size:13px}
  .item-edit-row{grid-template-columns:1fr!important}
  .thumb{width:62px;height:46px}
  .preview{width:100%;max-width:100%}
  .qr-panel img{max-width:72vw}
}

.manufacturer-footer{margin-top:20px;padding:14px 8px 4px;border-top:1px solid #30414e;color:#aebbc4;font-size:11px;line-height:1.5}.manufacturer-footer img{display:block;max-width:150px;max-height:52px;object-fit:contain;margin-bottom:8px}.manufacturer-footer small{color:#7f909b}


/* V5.3.3: manufacturer logo in the top-right of the right content frame */
main:not(.login-main) {
  position: relative;
}
.content-manufacturer-logo {
  position: absolute;
  top: 14px;
  right: 18px;
  z-index: 20;
  width: 180px;
  height: 58px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  pointer-events: none;
}
.content-manufacturer-logo img {
  display: block;
  max-width: 180px;
  max-height: 58px;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: right top;
}
main:not(.login-main) > header:first-of-type {
  padding-right: 205px;
}
@media (max-width: 720px) {
  .content-manufacturer-logo {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 105px;
    height: 38px;
  }
  .content-manufacturer-logo img {
    max-width: 105px;
    max-height: 38px;
  }
  main:not(.login-main) > header:first-of-type {
    padding-right: 118px;
  }
}

.content-manufacturer-logo.logo-empty {
  border:1px dashed #b9c2c9;
  border-radius:6px;
  color:#7b8790;
  font-size:11px;
  align-items:center;
  padding:0 8px;
  box-sizing:border-box;
  background:rgba(255,255,255,.7);
}

/* CER KENKI V5.4 license protection */
.license-page{min-height:calc(100vh - 64px);display:grid;place-items:center;padding:24px}.license-card{width:min(760px,96vw);background:#fff;border-radius:18px;padding:28px;box-shadow:0 10px 40px rgba(13,34,52,.14)}.license-card h1{font-family:Segoe UI,sans-serif;font-size:24px;letter-spacing:.6px}.license-card .muted{color:#6d7e89}.license-state{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px 16px;border-radius:10px;margin:18px 0}.license-state.ok{background:#eaf8ef;color:#176637}.license-state.ng{background:#fff0f0;color:#9c2525}.license-state span{font-size:13px}.license-table{min-width:0}.license-table th{width:170px}.license-card form{display:grid;gap:12px;margin-top:20px}.license-card form label{display:grid;gap:8px}.license-help{font-size:13px;color:#5f707b;background:#f5f8fa;padding:12px;border-radius:9px}code{font-family:Consolas,monospace;font-size:12px}@media(max-width:720px){.license-card{padding:18px}.license-table th{width:auto}.license-table{min-width:620px}}

/* V5.6 Multi-period rental schedule */
.schedule-controls{overflow:visible}.schedule-filter{display:grid;grid-template-columns:1.05fr 1.25fr 1.25fr 1.05fr 1.15fr auto;gap:10px;align-items:end}.schedule-filter label{display:grid;gap:5px;font-size:12px;color:#60717e}.schedule-summary{margin-top:14px;color:#405563}.schedule-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;font-size:12px;color:#5d6e79}.schedule-legend span{display:flex;align-items:center;gap:6px}.schedule-legend i{display:inline-block;width:18px;height:7px;border-radius:5px}.s-reserved{background:#2f80ed}.s-rented{background:#25a65a}.s-returned{background:#8b98a1}.s-today{background:#ef4444;width:2px!important;height:14px!important}.schedule-panel{padding:0;overflow:hidden}.schedule-scroll{overflow:auto;max-height:68vh}.schedule-grid{display:grid;grid-template-columns:220px minmax(var(--timeline-min),1fr);min-width:calc(220px + var(--timeline-min));position:relative}.schedule-label{position:sticky;left:0;z-index:6;background:#fff;border-right:1px solid #dce4e9;border-bottom:1px solid #e7ecef;padding:10px 12px;font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-label.continuation{color:#9aa8b1;font-weight:400}.schedule-corner{top:0;z-index:12;background:#102331;color:#fff;border-color:#334958}.schedule-corner.sub{top:34px;background:#eef4f7;color:#526775}.schedule-time{position:relative;border-bottom:1px solid #e7ecef;background-color:#fff;background-image:linear-gradient(to right,rgba(96,120,136,.08) 1px,transparent 1px);background-size:calc(100% / 31) 100%}.schedule-months{height:34px;position:sticky;top:0;z-index:10;background:#102331;color:#fff}.schedule-month{position:absolute;height:34px;border-right:1px solid #4b6272;text-align:center;padding-top:8px;font-size:11px;font-weight:700;overflow:hidden;white-space:nowrap}.schedule-ticks{height:34px;position:sticky;top:34px;z-index:9;background:#eef4f7}.schedule-tick{position:absolute;top:9px;font-size:9px;color:#607583;transform:translateX(2px);white-space:nowrap}.schedule-tick.weekend{color:#d05a5a}.schedule-row{height:50px;min-height:50px}.schedule-bar{position:absolute;top:6px;height:38px;min-width:5px;border-radius:7px;padding:5px 8px;color:#fff;text-decoration:none;overflow:hidden;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.12);z-index:3}.schedule-bar:hover{filter:brightness(.94);z-index:5}.schedule-bar b{display:block;font-size:10px;overflow:hidden;text-overflow:ellipsis}.schedule-bar small{display:block;color:rgba(255,255,255,.9);font-size:8px;margin-top:2px;overflow:hidden;text-overflow:ellipsis}.schedule-bar.reserved{background:#2f80ed}.schedule-bar.rented{background:#25a65a}.schedule-bar.returned{background:#8b98a1}.today-line{position:absolute;top:0;bottom:0;width:2px;background:#ef4444;z-index:4;pointer-events:none}.schedule-empty{padding:50px;text-align:center;color:#71828e}.schedule-scroll::-webkit-scrollbar{height:13px;width:13px}.schedule-scroll::-webkit-scrollbar-thumb{background:#9babb6;border-radius:8px;border:3px solid #f2f5f7}.schedule-scroll::-webkit-scrollbar-track{background:#f2f5f7}
@media(max-width:900px){.schedule-filter{grid-template-columns:1fr 1fr}.schedule-filter button{grid-column:1/-1}.schedule-grid{grid-template-columns:145px minmax(var(--timeline-min),1fr);min-width:calc(145px + var(--timeline-min))}.schedule-label{padding:9px 8px;font-size:11px}.schedule-scroll{max-height:72vh}}


/* V5.7 daily work schedule */
.daily-filter{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.daily-filter label{display:grid;gap:5px;font-size:12px;color:#60717e;min-width:155px}
.daily-filter .button-link,.daily-filter button{min-height:39px;display:inline-flex;align-items:center;justify-content:center}
.daily-date-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:0 0 16px;padding:18px 20px;border-radius:12px;background:linear-gradient(135deg,#102b3d,#164c69);color:#fff}
.daily-date-hero small{display:block;font-size:10px;letter-spacing:1.5px;color:#92d9f5;margin-bottom:5px}
.daily-date-hero strong{display:block;font-size:22px}
.daily-stat-wrap{display:flex;gap:9px}
.daily-stat{min-width:84px;padding:9px 12px;border-radius:9px;background:rgba(255,255,255,.1);text-align:center}
.daily-stat span{display:block;font-size:10px;color:#d8eaf2}.daily-stat b{display:block;font-size:22px;margin-top:3px}
.daily-stat.departure{border-bottom:3px solid #2f80ed}.daily-stat.return{border-bottom:3px solid #ef8a2f}.daily-stat.active{border-bottom:3px solid #25a65a}
.daily-panel{padding:12px}.daily-list{display:grid;gap:9px}
.daily-card{display:grid;grid-template-columns:100px minmax(260px,1fr) 220px 60px;align-items:center;gap:14px;padding:13px 15px;border:1px solid #dce5ea;border-left:6px solid #8b98a1;border-radius:10px;background:#fff;color:#203746;text-decoration:none;box-shadow:0 2px 6px rgba(16,43,61,.05)}
.daily-card:hover{box-shadow:0 5px 14px rgba(16,43,61,.12);transform:translateY(-1px)}
.daily-card.departure{border-left-color:#2f80ed}.daily-card.return{border-left-color:#ef8a2f}.daily-card.active{border-left-color:#25a65a}.daily-card.returned{border-left-color:#8b98a1}
.daily-status{font-size:12px;font-weight:800;text-align:center;padding:7px;border-radius:6px;background:#eef4f8}
.daily-card.departure .daily-status{color:#1f68c5;background:#eaf3ff}.daily-card.return .daily-status{color:#b75b14;background:#fff2e5}.daily-card.active .daily-status{color:#188348;background:#e9f8ef}
.daily-customer{font-size:15px;font-weight:800;color:#173246}.daily-equipment{font-size:12px;margin-top:4px}.daily-site{font-size:11px;color:#6d7f8b;margin-top:4px}
.daily-period{display:flex;gap:7px;align-items:center;flex-wrap:wrap;font-size:11px;color:#425866}.daily-period i{font-style:normal;color:#9aabb5}.daily-period small{width:100%;color:#7b8c97}
.daily-open{text-align:right;color:#4384a6;font-size:11px;font-weight:700}
.daily-help{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:#5d707c}.daily-help span{display:flex;align-items:center;gap:7px}.daily-help .dot{width:10px;height:10px;border-radius:50%;display:inline-block}.daily-help .departure{background:#2f80ed}.daily-help .return{background:#ef8a2f}.daily-help .active{background:#25a65a}
@media(max-width:800px){.daily-date-hero{align-items:flex-start;flex-direction:column}.daily-stat-wrap{width:100%}.daily-stat{flex:1;min-width:0}.daily-card{grid-template-columns:85px 1fr}.daily-period{grid-column:2}.daily-open{display:none}.daily-filter label{min-width:130px;flex:1}}
@media(max-width:520px){.daily-card{grid-template-columns:1fr}.daily-status{text-align:left;width:max-content}.daily-period{grid-column:1}.daily-stat span{font-size:9px}.daily-stat b{font-size:18px}.daily-date-hero strong{font-size:18px}}


/* V5.8: 日別工程表は貸出日・返却日の実作業だけを表示 */
.daily-date-hero em{display:block;margin-top:7px;font-style:normal;font-size:11px;color:#c8dbe6}
.daily-task-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.daily-task-list span{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#eef4f8;color:#466171;font-size:10px;font-weight:700}
.daily-card.departure .daily-task-list span{background:#eaf3ff;color:#1f68c5}
.daily-card.return .daily-task-list span{background:#fff2e5;color:#b75b14}
.daily-period strong{display:block;width:100%;font-size:10px;color:#728691}
.daily-note-panel .daily-help b{color:#263f50}


/* =========================================================
   CER KENKI V5.9 PREMIUM UI
   ========================================================= */
:root{
  --cer-bg:#edf3f7;
  --cer-surface:#ffffff;
  --cer-surface-2:#f7fafc;
  --cer-sidebar:#071824;
  --cer-sidebar-2:#0b2637;
  --cer-line:#dbe6ec;
  --cer-text:#173041;
  --cer-muted:#6f8491;
  --cer-blue:#0b8fc6;
  --cer-cyan:#35c7e8;
  --cer-orange:#f39800;
  --cer-green:#1fa56b;
  --cer-red:#df5a55;
  --cer-shadow:0 14px 34px rgba(23,48,65,.08);
  --cer-shadow-soft:0 5px 15px rgba(23,48,65,.06);
  --cer-radius:16px;
}
*{box-sizing:border-box}
html{background:var(--cer-bg)}
body.cer-app{
  margin:0;
  background:
    radial-gradient(circle at 80% 0%,rgba(53,199,232,.10),transparent 30%),
    linear-gradient(180deg,#f5f9fb 0,#edf3f7 45%,#eaf1f5 100%);
  color:var(--cer-text);
  font-family:"Segoe UI","Yu Gothic UI","Meiryo",sans-serif;
}
.layout{min-height:100vh}
#sidebar{
  width:248px;
  background:
    linear-gradient(180deg,rgba(13,44,63,.96),rgba(6,22,33,.99)),
    #071824;
  border-right:1px solid rgba(255,255,255,.05);
  box-shadow:14px 0 35px rgba(8,30,44,.12);
}
#sidebar:before{
  content:"";
  position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--cer-cyan),var(--cer-blue),var(--cer-orange));
}
#sidebar .brand{
  font-size:18px!important;
  letter-spacing:.6px;
  color:#fff;
}
#sidebar .brand span{
  color:#7edcf0!important;
  font-size:10px!important;
  letter-spacing:1.4px;
  margin-top:4px;
}
.side-user{
  margin:8px 12px 15px;
  padding:12px 13px!important;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.045);
  border-radius:12px;
  color:#f5fbff!important;
}
.side-user small{
  color:#6ed5ec!important;
  text-transform:uppercase;
  letter-spacing:1px;
}
#sidebar nav{
  padding:0 9px 20px;
}
#sidebar nav a{
  position:relative;
  display:flex;
  align-items:center;
  min-height:38px;
  margin:2px 0;
  padding:9px 12px 9px 15px!important;
  color:#b9cbd5!important;
  border-radius:10px;
  font-size:12px;
  font-weight:650;
  text-decoration:none;
  transition:.18s ease;
}
#sidebar nav a:before{
  content:"";
  width:5px;height:5px;border-radius:50%;
  background:#5b7889;
  margin-right:10px;
  box-shadow:0 0 0 4px rgba(91,120,137,.08);
}
#sidebar nav a:hover{
  color:#fff!important;
  background:linear-gradient(90deg,rgba(18,142,190,.23),rgba(255,255,255,.035));
  transform:translateX(2px);
}
#sidebar nav a:hover:before{background:var(--cer-cyan);box-shadow:0 0 0 4px rgba(53,199,232,.12)}
.manufacturer-footer{
  margin:12px;
  padding:12px!important;
  border-top:0!important;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.035);
  border-radius:12px;
}
main:not(.login-main){
  margin-left:248px;
  min-height:100vh;
  padding:0 24px 36px!important;
  background:transparent!important;
}
.app-topbar{
  position:sticky;
  top:0;
  z-index:25;
  height:68px;
  margin:0 -24px 22px;
  padding:0 26px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  background:rgba(244,249,252,.86);
  border-bottom:1px solid rgba(188,206,217,.72);
  box-shadow:0 5px 18px rgba(23,48,65,.035);
}
.app-topbar-title{display:flex;flex-direction:column}
.app-kicker{font-size:9px;font-weight:800;letter-spacing:2px;color:var(--cer-blue)}
.app-topbar-title strong{font-size:16px;letter-spacing:.25px;color:#153044}
.app-topbar-meta{display:flex;gap:8px;align-items:center;padding-right:190px}
.topbar-user,.topbar-role{
  border-radius:999px;padding:6px 10px;font-size:10px;font-weight:700;
}
.topbar-user{background:#fff;border:1px solid var(--cer-line);color:#385263}
.topbar-role{background:#0c3349;color:#9de6f5;text-transform:uppercase;letter-spacing:.7px}
.app-content{max-width:1540px;margin:0 auto}
.content-manufacturer-logo{
  top:11px!important;
  right:24px!important;
  width:160px!important;
  height:46px!important;
  align-items:center!important;
}
.content-manufacturer-logo img{max-width:160px!important;max-height:46px!important}
.content-manufacturer-logo.logo-empty{
  border:1px dashed #b9cbd5;
  border-radius:10px;
  background:rgba(255,255,255,.7);
  color:#8ca0ac;
  font-size:9px;
  align-items:center;
  padding:0 9px;
}

/* Page heading */
main header:not(.mobile-topbar){
  position:relative;
  margin:0 0 18px;
  padding:4px 210px 4px 2px!important;
  background:transparent!important;
  border:0!important;
}
main header h1{
  margin:0 0 5px!important;
  font-size:26px!important;
  line-height:1.25;
  letter-spacing:-.6px;
  color:#112c3e!important;
}
main header p{
  margin:0!important;
  color:var(--cer-muted)!important;
  font-size:12px;
}

/* Panels & cards */
.panel{
  border:1px solid rgba(205,220,228,.9)!important;
  background:rgba(255,255,255,.96)!important;
  border-radius:var(--cer-radius)!important;
  box-shadow:var(--cer-shadow-soft)!important;
  padding:18px!important;
}
.panel + .panel{margin-top:16px}
.panel h2{
  color:#173348!important;
  font-size:15px!important;
  margin:0 0 13px!important;
}
.cards,.dashboard-cards,.summary-cards{
  gap:14px!important;
}
.card,.summary-card,.dashboard-card{
  border:1px solid #dce7ed!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#fff,#f8fbfc)!important;
  box-shadow:0 8px 22px rgba(23,48,65,.055)!important;
}

/* Forms */
input,select,textarea{
  border:1px solid #cfdde5!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#203a4b!important;
  min-height:39px;
  padding:8px 10px!important;
  box-shadow:inset 0 1px 2px rgba(23,48,65,.025);
  transition:border-color .15s,box-shadow .15s;
}
textarea{min-height:80px}
input:focus,select:focus,textarea:focus{
  outline:none;
  border-color:#4bb8df!important;
  box-shadow:0 0 0 3px rgba(53,199,232,.13)!important;
}
label{font-weight:650;color:#5d7381!important}

/* Buttons */
button,.button-link,a.button-link{
  border:0!important;
  border-radius:9px!important;
  min-height:38px;
  padding:9px 14px!important;
  font-weight:750!important;
  letter-spacing:.05px;
  background:linear-gradient(135deg,#0b8fc6,#0679ad)!important;
  color:white!important;
  box-shadow:0 5px 12px rgba(11,143,198,.18);
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;
}
button:hover,.button-link:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 16px rgba(11,143,198,.22);
  filter:saturate(1.07);
}
.secondary-link{
  background:#eef4f7!important;
  color:#385466!important;
  box-shadow:none!important;
  border:1px solid #d6e1e8!important;
}
.danger,.danger-link{background:linear-gradient(135deg,#e26a62,#c84f49)!important}

/* Tables */
.table-scroll{
  border:1px solid #dce6ec;
  border-radius:12px;
  overflow:auto;
  background:#fff;
}
table{
  border-collapse:separate!important;
  border-spacing:0!important;
  width:100%;
}
table th{
  position:sticky;top:0;z-index:2;
  background:#eef5f8!important;
  color:#4d6574!important;
  font-size:10.5px!important;
  letter-spacing:.1px;
  text-align:left;
  border-bottom:1px solid #d6e2e9!important;
  padding:10px 11px!important;
}
table td{
  padding:10px 11px!important;
  border-bottom:1px solid #edf2f5!important;
  color:#294354;
  font-size:11.5px;
}
table tr:last-child td{border-bottom:0!important}
table tbody tr:hover td{background:#f7fbfd}

/* Status accents */
.badge,.status{
  border-radius:999px!important;
  padding:4px 8px!important;
  font-size:9px!important;
  font-weight:800!important;
}

/* Schedule premium adjustments */
.schedule-controls,.daily-controls{background:linear-gradient(180deg,#fff,#f8fbfd)!important}
.schedule-panel,.daily-panel{overflow:hidden}
.schedule-months{
  background:linear-gradient(90deg,#0c2b3e,#103d55)!important;
}
.schedule-corner{
  background:#0c2b3e!important;
}
.schedule-bar{
  box-shadow:0 5px 12px rgba(18,56,78,.15)!important;
  border-radius:9px!important;
}
.daily-date-hero{
  border-radius:16px!important;
  background:
    radial-gradient(circle at 85% 20%,rgba(62,205,237,.18),transparent 32%),
    linear-gradient(135deg,#0a2537,#0d4662)!important;
  box-shadow:0 12px 28px rgba(20,64,88,.16);
}
.daily-card{
  border-radius:13px!important;
  box-shadow:0 5px 15px rgba(23,48,65,.055)!important;
  transition:.15s ease!important;
}
.daily-card:hover{
  box-shadow:0 10px 22px rgba(23,48,65,.11)!important;
}
.daily-status{
  border-radius:999px!important;
  font-size:10px!important;
  letter-spacing:.2px;
}

/* Mobile premium */
.mobile-topbar{
  background:rgba(7,24,36,.97)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.17);
}
.menu-toggle,.menu-close{box-shadow:none!important}
@media(max-width:720px){
  main:not(.login-main){margin-left:0!important;padding:0 12px 24px!important}
  .app-topbar{height:58px;margin:0 -12px 15px;padding:0 14px}
  .app-topbar-meta{padding-right:0}
  .content-manufacturer-logo{display:none!important}
  main header:not(.mobile-topbar){padding-right:0!important}
  main header h1{font-size:21px!important}
  .panel{padding:14px!important;border-radius:13px!important}
  #sidebar{width:min(84vw,310px)!important}
  .app-topbar-title strong{font-size:14px}
  .topbar-role{display:none}
  table td,table th{white-space:nowrap}
}

/* V5.10 日別工程：時間・対応方法・担当者 */
.work-board{display:grid;gap:14px}
.work-card{display:block;border:1px solid #dce6ec;border-left:6px solid #2f80ed;border-radius:15px;background:linear-gradient(180deg,#fff,#f9fbfc);padding:15px;box-shadow:0 6px 18px rgba(23,48,65,.06)}
.work-card.return{border-left-color:#ef8a2f}
.work-card-head{display:grid;grid-template-columns:140px 155px minmax(180px,260px);gap:12px;align-items:end}
.work-kind{font-size:14px;font-weight:850;color:#173246;padding-bottom:10px}
.work-time,.work-assignee{display:grid;gap:5px;font-size:10px}
.work-main{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #e7eef2}
.work-customer{display:block;font-size:15px;color:#173246}.work-machine,.work-site{display:block;margin-top:4px;font-size:11px;color:#647b89}
.work-detail-link{font-size:10px;font-weight:800;color:#1885b4;text-decoration:none;white-space:nowrap}
.work-options{display:flex;gap:8px;flex-wrap:wrap;padding:13px 0}
.work-options label{cursor:pointer}
.work-options input{position:absolute;opacity:0;pointer-events:none}
.work-options span{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border:1px solid #d4e0e7;border-radius:999px;background:#f0f5f8;color:#526b79;font-size:10.5px;font-weight:800;transition:.15s}
.work-options input:checked + span{background:#0b8fc6;color:#fff;border-color:#0b8fc6;box-shadow:0 4px 10px rgba(11,143,198,.18)}
.work-card.return .work-options input:checked + span{background:#e88022;border-color:#e88022}
.work-bottom{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}
.work-note{display:grid;gap:5px;font-size:10px}.work-bottom button{min-width:110px}
@media(max-width:760px){.work-card-head{grid-template-columns:1fr 1fr}.work-kind{grid-column:1/-1;padding-bottom:0}.work-bottom{grid-template-columns:1fr}.work-bottom button{width:100%}}
@media(max-width:480px){.work-card-head{grid-template-columns:1fr}.work-kind{grid-column:auto}.work-main{align-items:flex-start;flex-direction:column}.work-options span{font-size:10px}}


/* V5.11 担当者マスタ・担当者別スケジュール */
.staff-compact{min-width:115px;max-width:150px;min-height:32px!important;padding:5px 7px!important;font-size:10px}
.staff-active{display:inline-flex!important;align-items:center;gap:4px;white-space:nowrap}
.staff-active input{min-height:auto!important;width:auto}
.staff-schedule-filter{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.staff-schedule-filter label{display:grid;gap:5px;min-width:180px;font-size:11px}
.staff-schedule-hero{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px;padding:18px 20px;border-radius:16px;background:linear-gradient(135deg,#0a2638,#0e4c68);color:#fff;box-shadow:0 12px 28px rgba(20,64,88,.15)}
.staff-schedule-hero small{display:block;color:#86d8ed;font-size:9px;letter-spacing:1.5px}.staff-schedule-hero strong{display:block;font-size:20px;margin-top:3px}.staff-schedule-hero span{display:block;color:#c8dce7;font-size:11px;margin-top:4px}.staff-schedule-hero>b{font-size:23px}
.staff-job-list{display:grid;gap:9px}.staff-job{display:grid;grid-template-columns:75px 95px minmax(250px,1fr) 55px;gap:12px;align-items:center;padding:12px 14px;border:1px solid #dce6ec;border-radius:12px;background:#fff;color:#253e4e;text-decoration:none;box-shadow:0 4px 12px rgba(23,48,65,.04)}
.staff-job:hover{box-shadow:0 8px 18px rgba(23,48,65,.09)}.staff-job-time{font-size:15px;font-weight:850;color:#0b81b5}.staff-job-category{padding:5px 7px;border-radius:999px;background:#eef5f8;font-size:9px;font-weight:800;text-align:center}.staff-job-main b{display:block;font-size:13px}.staff-job-main span,.staff-job-main small{display:block;margin-top:3px;font-size:10px;color:#6a7f8c}.staff-job-open{text-align:right;color:#2187b2;font-size:10px;font-weight:800}
.staff-calendar-panel{overflow:auto}.staff-calendar{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));min-width:1015px;border:1px solid #d8e4ea;border-radius:12px;overflow:hidden}.cal-head{padding:9px;text-align:center;background:#0d3145;color:#d9edf5;font-size:10px;font-weight:800;border-right:1px solid #24495c}.cal-day{min-height:126px;padding:7px;background:#fff;border-right:1px solid #e3ebef;border-top:1px solid #e3ebef}.cal-day.empty{background:#f2f5f7}.cal-day.today{box-shadow:inset 0 0 0 2px #2ebcdd}.cal-date{font-size:11px;font-weight:850;margin-bottom:5px}.cal-date a{color:#1e465c;text-decoration:none}.cal-event{display:block;margin:3px 0;padding:5px 6px;border-radius:6px;background:#edf5f9;color:#29495a;text-decoration:none;font-size:8.5px;line-height:1.25}.cal-event b{display:block;color:#0b87ba;font-size:8px}.cal-event span{display:block;white-space:normal}.cal-event.kind-返却,.cal-event.kind-期限{background:#fff1e4}.cal-event.kind-返却 b,.cal-event.kind-期限 b{color:#c76719}.cal-event.kind-整備{background:#eef8ef}.cal-event.kind-整備 b{color:#258754}
@media(max-width:760px){.staff-job{grid-template-columns:65px 85px 1fr}.staff-job-open{display:none}.staff-schedule-filter label{min-width:140px;flex:1}}
@media(max-width:520px){.staff-job{grid-template-columns:1fr}.staff-job-time{font-size:17px}.staff-job-category{width:max-content}}

/* V5.12 Google Maps / 担当者別指示書 */
.work-address-row{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:end;margin:2px 0 12px;padding:11px 0;border-top:1px dashed #dce6ec}
.work-address-row label{display:grid;gap:5px;font-size:10px}
.map-button{white-space:nowrap}
.map-mini{display:inline-flex;padding:3px 6px;border-radius:999px;background:#e9f6fb;color:#087eae;font-size:8px;font-weight:850}
@media(max-width:600px){.work-address-row{grid-template-columns:1fr}.map-button{width:100%}}

/* V5.13 税率・緊急退避・クイック変更・点検表示 */
.inspection-badge,.repair-badge{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:850;white-space:nowrap}.inspection-badge{background:#fff0c8;color:#9b6100;border:1px solid #f2c96a}.repair-badge{background:#ffe4e2;color:#a43f39;border:1px solid #efaaa5}.inspection-row td{background:#fffaf0!important}.quick-note{font-size:10px;color:#6c7f8b}

/* V5.15 Excel / CSV import-export */
.transfer-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.transfer-form{display:grid;gap:12px}.transfer-form label{display:grid;gap:6px;font-size:11px}
.export-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.transfer-note{margin-top:16px;padding:12px;border-radius:10px;background:#eef5f8;font-size:10px;color:#536b79}
.transfer-note p{margin:5px 0}.transfer-result{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 15px;margin-bottom:15px;background:#eaf8ef;border:1px solid #bfe5ca;border-radius:11px;color:#245e36}
.transfer-result small{width:100%}
@media(max-width:760px){.transfer-grid{grid-template-columns:1fr}}

/* =========================================================
   CER KENKI V5.16 GREEN-SUPPLY BRAND UI
   ========================================================= */
:root{
  --gs-deep:#073b32;
  --gs-deeper:#052f29;
  --gs-green:#078b68;
  --gs-green2:#13a47c;
  --gs-ink:#15352f;
  --gs-line:#d8e4e0;
}
#sidebar{
  background:linear-gradient(180deg,#073b32 0%,#06362f 45%,#052e29 100%)!important;
  width:274px!important;
}
main:not(.login-main){margin-left:274px!important;width:calc(100% - 274px)!important}
.sidebar-mobile-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important}
.gs-side-brand{width:100%;padding:2px 0 7px}
.gs-logo-wrap{
  width:100%;min-height:64px;margin:0 0 9px;padding:8px 10px 5px;
  border-radius:12px;background:rgba(255,255,255,.96);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 14px rgba(0,0,0,.13)
}
.gs-logo-wrap img{display:block;max-width:205px;max-height:54px;object-fit:contain}
#sidebar .brand{font-size:26px!important;letter-spacing:.3px!important;padding-left:8px}
#sidebar .brand span{font-size:9px!important;letter-spacing:.5px!important;color:#b8dcd2!important}
#sidebar nav{margin-top:14px!important}
#sidebar nav a{color:#eefaf6!important;font-size:13px!important}
#sidebar nav a:before{background:#8fc9ba!important}
#sidebar nav a:hover{background:linear-gradient(90deg,#0d9a76,#0a765d)!important}
.manufacturer-footer{display:none!important}
.app-kicker{color:var(--gs-green)!important}
.app-topbar-title strong{color:#103a32!important}
.topbar-role{background:#0a4c40!important;color:#c7f4e8!important}
.content-manufacturer-logo{display:none!important}

.gs-hero{
  display:grid;grid-template-columns:52% 48%;
  min-height:270px;margin:-4px 0 16px;border-radius:15px;overflow:hidden;
  background:linear-gradient(105deg,#f9fcfb 0%,#f7fbfa 52%,#dceee8 100%);
  border:1px solid #d7e5e1;box-shadow:0 8px 28px rgba(7,59,50,.08)
}
.gs-hero-copy{padding:31px 34px 24px;position:relative;z-index:2}
.gs-eyebrow{font-size:9px;font-weight:800;letter-spacing:2px;color:#078b68}
.gs-hero h1{font-size:38px!important;line-height:1.18!important;margin:8px 0 10px!important;color:#073b32!important;letter-spacing:-1.5px!important}
.gs-hero p{font-size:14px!important;color:#355d55!important;margin:0 0 17px!important}
.gs-values{display:flex;gap:28px;align-items:center}
.gs-values>span{display:grid;grid-template-columns:auto auto;column-gap:6px;align-items:center;color:#078b68;font-size:19px}
.gs-values b{font-size:12px}.gs-values small{grid-column:2;color:#667d78;font-size:9px}
.gs-hero-photo{
  background:
    linear-gradient(90deg,#f8fbfa 0%,rgba(248,251,250,.25) 22%,rgba(248,251,250,0) 45%),
    url('/static/green_supply_hero.jpg') center/cover no-repeat;
  min-height:270px
}

.gs-menu-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:0 0 13px}
.gs-menu-card{
  min-height:126px;padding:16px 12px 13px;border-radius:11px;text-decoration:none;color:#173a34;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  border:1px solid rgba(17,67,57,.08);box-shadow:0 3px 10px rgba(16,60,52,.05);
  transition:.16s ease
}
.gs-menu-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(16,60,52,.12)}
.gs-menu-card>b{font-size:29px;line-height:1;margin-bottom:8px}
.gs-menu-card strong{font-size:14px;margin-bottom:4px}
.gs-menu-card span{font-size:9.5px;color:#5d716d}
.c-blue{background:linear-gradient(135deg,#e8f3ff,#eef7ff)}
.c-green{background:linear-gradient(135deg,#e7f7ed,#effaf3)}
.c-amber{background:linear-gradient(135deg,#fff4dc,#fff9ed)}
.c-pink{background:linear-gradient(135deg,#ffe9e8,#fff1ef)}
.c-mint{background:linear-gradient(135deg,#e7f8f4,#f0fcf9)}
.c-purple{background:linear-gradient(135deg,#eeeafb,#f5f2ff)}
.c-rose{background:linear-gradient(135deg,#ffe7ea,#fff1f3)}
.c-cyan{background:linear-gradient(135deg,#e4f7fb,#eefbfe)}
.c-gray{background:linear-gradient(135deg,#edf0f1,#f7f8f8)}

.gs-bottom-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:12px}
.gs-bottom-grid .panel{padding:10px 15px!important;margin:0!important;border-radius:11px!important}
.gs-panel-title{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e2ebe8;padding-bottom:7px;margin-bottom:2px}
.gs-panel-title h2{font-size:13px!important;margin:0!important;color:#133f36!important}
.gs-panel-title>span{font-size:9px;color:#73847f}
.gs-news-row{display:grid;grid-template-columns:55px 1fr auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid #edf1f0;font-size:9.5px}
.gs-news-row time{color:#6c7e79}.gs-news-row em{font-style:normal;background:#e94343;color:#fff;border-radius:4px;padding:2px 5px;font-size:8px}
.gs-today-row{display:grid;grid-template-columns:42px 45px 1fr 1.15fr 64px;gap:7px;align-items:center;padding:6px 0;border-bottom:1px solid #edf1f0;font-size:9.5px}
.gs-today-row>b{font-size:9px;text-align:center;border-radius:4px;padding:3px 4px}
.job-departure{background:#dff3ff;color:#1673a4}.job-return{background:#ffe6e4;color:#b7473f}.job-maintenance{background:#ece7ff;color:#6049a0}
.gs-today-row small{color:#637770}.gs-empty{padding:24px 10px;text-align:center;color:#7d8d88;font-size:10px}
.gs-summary{margin-top:13px!important}.gs-summary .card{padding:13px!important}.gs-summary .card b{font-size:22px!important}

@media(max-width:1200px){
  .gs-menu-grid{grid-template-columns:repeat(3,1fr)}
  .gs-hero{grid-template-columns:58% 42%}
  .gs-hero h1{font-size:32px!important}
}
@media(max-width:900px){
  #sidebar{width:248px!important}
  main:not(.login-main){margin-left:248px!important;width:calc(100% - 248px)!important}
  .gs-menu-grid{grid-template-columns:repeat(2,1fr)}
  .gs-bottom-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  #sidebar{width:min(88vw,300px)!important}
  main:not(.login-main){margin:0!important;width:100%!important}
  .gs-logo-wrap{max-width:230px}
  .gs-hero{grid-template-columns:1fr}
  .gs-hero-copy{padding:24px 21px 19px}
  .gs-hero h1{font-size:29px!important}
  .gs-hero-photo{min-height:170px}
  .gs-menu-grid{grid-template-columns:1fr 1fr}
  .gs-menu-card{min-height:108px}
  .gs-today-row{grid-template-columns:42px 45px 1fr}
  .gs-today-row span:nth-of-type(2),.gs-today-row small{display:none}
}

/* V5.17.1 tax display */
.invoice-tax-row{display:grid!important;grid-template-columns:minmax(260px,2.5fr) 85px 100px 100px 95px 110px 68px!important;gap:7px!important;align-items:center}
.invoice-tax-row>span,.invoice-tax-row>strong{text-align:right;white-space:nowrap}
@media(max-width:1000px){.invoice-tax-row{grid-template-columns:1fr 1fr!important}.invoice-tax-row input:first-child{grid-column:1/-1}}
