/* ES visual system: warm neutrals, ink typography and restrained jade accents. */
:root{--bg-page:#f5f5f2;--bg-card:#fff;--bg-hover:#f3f5f2;--text:#252d2b;--text-secondary:#626e68;--text-muted:#7b8780;--accent:#35655b;--accent-light:#eaf1ed;--border:#dde3dc;--border-light:#edf0ea;--radius-sm:5px;--radius-md:9px;--es-shadow:0 2px 8px #23352d04;--font-sans:'Noto Sans JP','Yu Gothic','Microsoft YaHei',sans-serif}
body{background:var(--bg-page);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}
h1,h2,h3,.page-title,.card-title{font-family:var(--font-sans);letter-spacing:.015em;color:var(--text)}
.sidebar{background:#fbfcf9;border-right:1px solid var(--border)}
.sidebar-header{border-bottom:1px solid var(--border-light)}
.sidebar-header h2{font-family:var(--font-sans);font-weight:700;letter-spacing:.08em;color:#263c34;font-size:18px}
.sidebar-nav a{color:#65726c;border-radius:6px;margin:3px 8px;transition:background .15s,color .15s}
.sidebar-nav a.active{background:#e8efea;color:#2d5c50;box-shadow:inset 3px 0 #52786a;font-weight:600}
.sidebar-nav .nav-icon{filter:grayscale(1);opacity:.7;font-size:16px}.sidebar-nav a.active .nav-icon{opacity:1}
.sidebar-footer{border-top:1px solid var(--border-light)}
.main-content{background:var(--bg-page)}
.btn{border-radius:5px;box-shadow:none;border-color:#d4dcd4;font-family:var(--font-sans);font-weight:500;transition:background .15s,border-color .15s}
.btn:focus-visible,button:focus-visible{outline:2px solid #52786a;outline-offset:2px}
.btn-primary,.customer-login-submit{background:#35655b;border-color:#35655b;color:white}.btn-primary:hover,.customer-login-submit:hover{background:#294f46;border-color:#294f46}
.btn:disabled{cursor:not-allowed;opacity:.5}.card,.modal,.login-card{border-color:var(--border);box-shadow:var(--es-shadow);border-radius:9px}
input,select,textarea{font-family:var(--font-sans)}
.page-heading h1,.page-heading h2,.dr-toolbar h2,.cb-five-days .cb-header h1{color:#293d35;font-weight:650}
.cb-five-days .cb-header h1{font-size:22px;letter-spacing:.015em}
.cb-five-days .cb-header h1>span{background:#edf1eb;color:#4d6b5c;border:1px solid #dfe6dc;border-radius:4px;font-size:12px;padding:3px 9px;letter-spacing:.05em}
.cb-five-days .cb-usage>button{border-radius:5px;color:#758078}.cb-five-days .cb-usage>button.active,.cb-five-days .cb-toggle .active{background:#35655b;color:white}
.cb-five-days .cb-metrics{border-color:var(--border);background:#fcfdfb;box-shadow:var(--es-shadow);border-radius:8px;padding:8px 0}
.cb-five-days .cb-metrics strong{font-weight:600;color:#293d35}.cb-five-days .cb-metrics>div>span{color:#748177;font-size:12px}
.cb-five-days .cb-schedule,.cb-five-days .cb-candidates,.cb-five-days .cb-editor{border-color:var(--border);box-shadow:var(--es-shadow);border-radius:9px}
.cb-five-days .cb-toolbar{background:#fff;padding:9px 12px}.cb-five-days .cb-window-help{color:#859086}
.cb-five-days .cb-axis{background:#f1f3ee;border-bottom:1px solid #dce3d9;color:#69796d;height:31px}
.cb-five-days .cb-break-caption{background:#f1f3ee;color:#7f8b81}.cb-five-days .cb-break{border-left:1px dashed #94a699}
.cb-five-days .cb-lane-label{background:#fafbf8;color:#3e5145}.cb-five-days .cb-lane-label span{color:#849083;font-size:11px}.cb-five-days .cb-lane-label b{font-size:13px;font-weight:600}
.cb-five-days .cb-day-group+.cb-day-group{border-top:2px solid #d4ded2}
.cb-five-days .cb-grid button{border-color:#eef1eb}
.cb-five-days .cb-block{border-radius:4px;border-left-width:3px;padding:2px 7px;justify-content:center}
.cb-five-days .cb-block .cb-block-heading{display:flex;align-items:center;gap:6px;width:100%;min-width:0;line-height:18px}
.cb-five-days .cb-block .cb-block-heading b{font-family:var(--font-sans);font-weight:600;font-size:14px;flex:1;min-width:0;line-height:18px;color:#33473c}
.cb-five-days .cb-block .cb-block-meta{display:flex;align-items:center;gap:9px;font-size:11px;line-height:15px;min-width:0;color:#66786c;overflow:hidden}
.cb-request-no{font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.015em;white-space:nowrap}
.cb-block-status{opacity:.8;white-space:nowrap}
.cb-five-days .cb-final{border-right:2px solid #487561}
.cb-end-label{font-size:11px;font-weight:600;font-style:normal;padding:0 5px;background:#fffdf2;color:#6e6040;border:1px solid #e2dcc8;border-radius:3px;line-height:16px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}
.cb-five-days .cb-candidate{padding:9px 8px;border-bottom-color:#edf0e9}.cb-five-days .cb-candidate b{font-family:var(--font-sans);font-weight:600;font-size:13px;color:#34483c;line-height:1.5}
.cb-five-days .cb-candidate.active{background:#eef3ed}.cb-five-days .cb-candidate em{color:#7d8a7e}.cb-five-days .cb-selectionbar{background:#eef3ed;border-color:#d6e1d5;border-radius:7px}
.cb-five-days .cb-section-title h2{font-family:var(--font-sans);font-size:14px;font-weight:600;color:#354a3c}
.cb-five-days .cb-foot{color:#859084;border-top:1px solid #edf0e9}
.dr-summary{background:#f0f4ee;border-color:#dde5d8}.dr-summary strong{color:#304e3e;font-weight:600}.dr-summary b{font-weight:600}
.dr-scroll th{background:#f0f3ed;color:#64735e;border-bottom-color:#dce3d7;font-weight:600}.dr-scroll td{border-bottom-color:#edf0e9}.dr-scroll .dr-warning td{background:#fcf9ed}
.dr-name b{font-family:var(--font-sans);font-weight:600;color:#35463b}.dr-hours,.dr-review{background:#f3f6f0;border-color:#d6dfd1;color:#416149}
.dr-workspace input:not([type=checkbox]),.dr-workspace select,.dr-workspace textarea{border-color:#d5ded2;border-radius:5px}
.dr-toolbar h2{font-size:21px}.dr-scroll,.dr-editor{border-color:var(--border);border-radius:8px}.dr-values{background:#f0f4ee}.dr-modal-ratio{background:#f5f6f0}
.customer-login-shell{background:#f5f5f2}.customer-login-box{border-color:#dde3d8;box-shadow:0 10px 40px #243a2910;border-radius:12px}
.customer-login-box h1{font-family:var(--font-sans);font-weight:600;color:#2b4135}.customer-login-mark{background:#ecf2e9;color:#53704e}.customer-login-field input:focus{border-color:#66836a;box-shadow:0 0 0 3px #66836a14}
@media(max-width:1000px){.cb-block-status{display:none}.cb-five-days .cb-block .cb-block-meta{gap:5px}}

/* Consistent line icons, preserving navigation labels and accessible titles. */
.sidebar-nav .nav-icon{display:inline-block;width:18px;height:18px;min-width:18px;font-size:0;background:currentColor;filter:none;opacity:.85;mask-size:contain;mask-repeat:no-repeat;mask-position:center}
.sidebar-nav a[href="#dashboard"] .nav-icon{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221%22%2F%3E%3Crect%20x%3D%2214%22%20y%3D%223%22%20width%3D%227%22%20height%3D%2211%22%20rx%3D%221%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%2214%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221%22%2F%3E%3Cpath%20d%3D%22M14%2018h7M14%2021h7%22%2F%3E%3C%2Fsvg%3E")}
.sidebar-nav a[href="#assignments"] .nav-icon{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225%22%20y%3D%224%22%20width%3D%2214%22%20height%3D%2217%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M9%203h6v4H9zM9%2011h6M9%2015h6%22%2F%3E%3C%2Fsvg%3E")}
.sidebar-nav a[href="#schedule"] .nav-icon{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2216%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M7%203v4M17%203v4M3%2010h18M7%2014h4M7%2017h8%22%2F%3E%3C%2Fsvg%3E")}
.sidebar-nav a[href="#customer-board"] .nav-icon{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%2218%22%20height%3D%2216%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M3%209h18M8%209v11M11%2013h7M11%2016h4%22%2F%3E%3C%2Fsvg%3E")}
.sidebar-nav a[href="#personnel"] .nav-icon{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%228%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M3%2021v-3a6%206%200%200%201%2012%200v3M16%205a3%203%200%200%201%200%206M18%2015a5%205%200%200%201%203%205%22%2F%3E%3C%2Fsvg%3E")}
.sidebar-nav a[href="#progress"] .nav-icon{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%203v18h17M8%2016v-5M13%2016V7M18%2016V4%22%2F%3E%3C%2Fsvg%3E")}
.sidebar-nav a[href="#delivery-preview"] .nav-icon{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%2218%22%20height%3D%2216%22%20rx%3D%221%22%2F%3E%3Cpath%20d%3D%22M3%209h18M8%209v11M3%2014h18%22%2F%3E%3C%2Fsvg%3E")}
.sidebar-nav a[href="#customer-preview"] .nav-icon{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%222%22%20y%3D%223%22%20width%3D%2220%22%20height%3D%2214%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%2021h8M12%2017v4%22%2F%3E%3C%2Fsvg%3E")}
.sidebar-nav a[href="#my-work"] .nav-icon{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%223%22%20width%3D%2216%22%20height%3D%2218%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22m8%2012%203%203%205-6%22%2F%3E%3C%2Fsvg%3E")}
.sidebar-nav a[href="#capacity-settings"] .nav-icon{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%207h16M4%2017h16%22%2F%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%223%22%2F%3E%3Ccircle%20cx%3D%2215%22%20cy%3D%2217%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E")}
.sidebar-nav a[href="#system-settings"] .nav-icon{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m10%203-1%203-3%201-2%203%202%203v3l3%202%201%203h4l1-3%203-2v-3l2-3-2-3-3-1-1-3z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E")}

:root{--font-serif:var(--font-sans)}
.main-content h1,.main-content h2,.main-content h3{font-family:var(--font-sans)}
.sidebar-footer button{background:transparent!important;border:1px solid #d8e0d4!important;color:#637460!important;border-radius:5px}.sidebar-footer button:hover{background:#eef2e9!important}

.cb-data-mode{display:flex;align-items:center;gap:14px;margin:0 0 8px;padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:#fff;font-size:12px;color:#708171;flex-wrap:wrap}
.cb-data-mode .cb-toggle{flex-shrink:0}.cb-test-notice{color:#89622f}.cb-test-notice b{display:inline-block;padding:1px 5px;border:1px solid #d9bd88;background:#fff7e4;border-radius:3px;margin-right:6px;font-size:11px}

/* Scope out legacy calendar padding; guest and internal boards share this density. */
#guest-app main.cb-guest-main{max-width:none!important;padding:6px 16px 10px!important}
#guest-app main.cb-main{max-width:none!important;padding:0!important}
.cb-account-actions{height:30px}
.cb-five-days .cb-header{margin-bottom:4px}
.cb-five-days .cb-data-mode{padding:2px 8px;min-height:32px;gap:10px}
.cb-five-days .cb-data-mode .cb-toggle button{padding:2px 8px;line-height:22px}
.cb-five-days .cb-metrics{padding:5px 0}
.cb-five-days .cb-toolbar{padding:5px 12px}
.cb-five-days .cb-section-title{min-height:30px;padding:0 12px}
.cb-five-days .cb-section-title .cb-toggle button{padding:2px 10px;line-height:22px}
.cb-five-days .cb-lane,.cb-five-days .cb-track{height:40px;min-height:40px}
.cb-five-days .cb-block{height:36px;top:2px;padding:1px 7px}
@media(max-width:600px){#guest-app main.cb-guest-main{padding:6px 8px 10px!important}.cb-data-mode{gap:4px}.cb-test-notice{line-height:1.5}}

#guest-app .cb-workspace.cb-compact{padding-bottom:0}
#guest-app main.cb-guest-main{padding-bottom:6px!important}
.cb-five-days .cb-data-mode{margin-bottom:4px}

/* Header contains the contract amount and account actions; per-day counts stay with dates. */
.cb-five-days .cb-header h1{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.cb-five-days .cb-header h1>span{margin-left:2px}
.cb-five-days .cb-contract-inline{font-size:14px;font-weight:500;color:#63766a;white-space:nowrap;letter-spacing:0}
.cb-five-days .cb-live{gap:8px;flex-wrap:wrap;justify-content:flex-end}
.cb-five-days .cb-axis,.cb-five-days .cb-lane{grid-template-columns:140px minmax(0,1fr)}
.cb-five-days .cb-day-caption{display:flex;align-items:center;gap:7px;max-width:100%}
.cb-five-days .cb-day-caption>span{font-size:13px;color:#3e5145}
.cb-day-count{font-size:11px;line-height:18px;color:#637c6c;font-weight:500;font-style:normal;white-space:nowrap}
@media(max-width:600px){.cb-five-days .cb-header{flex-wrap:wrap;gap:6px}.cb-five-days .cb-header h1{font-size:20px}.cb-five-days .cb-live{margin-left:auto}}

/* Dates span anonymous capacity rows; the compressed lunch seam never duplicates a case. */
.cb-five-days .cb-axis{grid-template-columns:94px 64px minmax(0,1fr)}
.cb-five-days .cb-day-group{display:grid;grid-template-columns:94px minmax(0,1fr)}
.cb-five-days .cb-day-date{grid-column:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:4px 8px;background:#f3f6ef;border-right:1px solid #dce3d9;gap:1px}
.cb-five-days .cb-day-date b{font-size:13px;color:#354c3e;white-space:nowrap;line-height:18px}
.cb-five-days .cb-day-date small{font-size:10px;color:#62856a}
.cb-five-days .cb-lane{grid-column:2;grid-template-columns:64px minmax(0,1fr)}
.cb-five-days .cb-lane-label{padding-left:8px;border-right:1px solid #edf0e9}
.cb-five-days .cb-lane-label>span{font-size:12px;color:#697b6b;white-space:nowrap}
.cb-five-days .cb-review{grid-column:2}
.cb-five-days .cb-block .cb-block-heading b{color:inherit}
.cb-five-days .cb-break{z-index:4;border-left:1px dashed #94a69980}

.cb-five-days .cb-block-meta{gap:6px}
.cb-five-days .cb-block-meta .cb-request-no{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto}
.cb-five-days .cb-block-meta>span:nth-child(2){flex-shrink:0;white-space:nowrap}
.cb-five-days .cb-block-meta .cb-block-status{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto}

/* Customer account menu keeps the refresh action outside. */
.cb-settings{position:relative}.cb-settings>summary{list-style:none;cursor:pointer}.cb-settings>summary::-webkit-details-marker{display:none}
.cb-settings-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:190px;display:flex;flex-direction:column;gap:8px;padding:12px;background:#fff;border:1px solid #ccd8d2;border-radius:8px;box-shadow:0 8px 24px #183d4226;z-index:30}
.cb-settings-menu .cb-account-name{padding:4px 6px}.cb-settings-menu .btn{text-align:left}
.cb-guest-main .dr-request{font-weight:700}.cb-guest-main .dr-name b{font-weight:700}
