:root{--ink:#10283f;--muted:#60788e;--line:#d9e5ee;--blue:#0788c5;--navy:#08243e}*{box-sizing:border-box}body{margin:0;background:#edf4f8;color:var(--ink);font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:#087dae;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #5ebce8;outline-offset:3px}header{padding:14px max(3vw,16px);background:#082137;color:white;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:8px;align-items:center;color:white;font-size:21px;font-weight:800}.brand small{font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.65}nav{display:flex;align-items:center;gap:20px}nav a,nav button{color:#d1e8f7;background:none;border:0}main{max-width:1536px;margin:auto;padding:24px}.hero{position:relative;isolation:isolate;border-radius:18px;overflow:hidden;background:#06304e;color:white;min-height:340px;padding:36px 32px 0;display:flex;flex-direction:column;justify-content:space-between}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-2}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#042844b3,transparent 75%);z-index:-1}.hero-copy{display:flex;align-items:center;gap:20px;max-width:75%}.mountain-logo{width:126px;flex-shrink:0;filter:drop-shadow(0 4px 9px #04284488)}.hero h1{font-size:clamp(42px,4.6vw,70px);line-height:1.08;letter-spacing:-.04em;margin:0 0 4px}.hero-copy p{font-size:clamp(17px,2vw,27px);font-weight:650;margin:0}.hero-copy em{display:block;font-size:18px;margin:13px 0 18px;color:#d5f0ff;text-shadow:0 2px 8px #03213e}.hero-quote{position:absolute;right:30px;top:45px;max-width:23%;font:italic 22px/1.5 Georgia,serif;text-align:right;transform:rotate(-7deg);text-shadow:0 2px 7px #03213e}.hero-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;width:min(940px,100%);padding:18px 8px;margin-left:-16px;background:#05324deb;backdrop-filter:blur(8px);border-radius:18px 18px 0 0}.hero-facts>div{display:flex;gap:13px;align-items:center;padding:0 18px;border-right:1px solid #9ad7f044}.hero-facts>div:last-child{border:0}.hero-facts b{font-size:32px;color:#9cdcff}.hero-facts span{font-size:12px;color:#c4dfef}.hero-facts strong{display:block;font-size:15px;color:white}.title-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0 16px}.title-row h1{font-size:29px;margin:0}.title-row h2{font-size:23px;margin:0}.title-row p{margin:5px 0 0;color:var(--muted)}.muted{color:var(--muted);font-weight:400}.primary,.button{display:inline-block;border:0;border-radius:8px;background:var(--blue);color:white;padding:12px 19px;font-weight:700;white-space:nowrap}label{display:flex;flex-direction:column;gap:7px;font-weight:600;color:#415a70}input,select,textarea{width:100%;min-width:0;min-height:44px;border:1px solid #c8d9e6;border-radius:8px;padding:10px 12px;color:var(--ink);background:#f8fbfd}textarea{resize:vertical;min-height:100px}input[type=hidden]{display:none}.period{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:0 0 20px}.period label{min-width:185px;font-size:12px}.period button{min-height:44px;padding:10px 20px;border:1px solid #b9d2e2;border-radius:8px;background:white;color:#14527a}.export-link{margin-left:auto;padding:12px}.hours-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.hours-summary article{border:1px solid #cfe6f5;background:#eff8ff;padding:19px 20px;border-radius:13px;position:relative;overflow:hidden}.hours-summary article:after{content:"";height:4px;background:currentColor;position:absolute;bottom:0;left:20px;right:20px;opacity:.6;border-radius:4px}.hours-summary span{display:block;font-size:12px;font-weight:650}.hours-summary strong{display:block;font-size:29px;line-height:1.4}.hours-summary small{display:block;color:var(--muted)}.hours-summary .total{background:#082e4e;color:white;border-color:#082e4e}.hours-summary .total small{color:#b2d2e8}.hours-summary .regular{color:#0675bf}.hours-summary .extra{background:#ecfaf6;color:#00876c;border-color:#c9eee1}.hours-summary .saturday{background:#f4f0ff;color:#7240c9;border-color:#e3d9f6}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(340px,1fr);gap:20px;align-items:start}.card{background:white;border:1px solid var(--line);border-radius:15px;box-shadow:0 6px 24px #123d5710}.journal{overflow:hidden;min-width:0}.section-heading{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:10px}.section-heading h3{margin:0;font-size:17px}.section-heading span{font-size:12px;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:12px 10px;border-bottom:1px solid #e7eff5;text-align:left;white-space:nowrap}th{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#526e87;background:#f2f7fb}th a{display:block;color:#1678a8;padding:2px}td:nth-child(7){white-space:normal;min-width:105px}td:first-child{color:#168274}tfoot td,tfoot th{background:#f4f9fc;font-weight:700}tfoot strong{color:#00896e}.pill{display:inline-block;padding:3px 7px;border-radius:5px;font-size:11px;font-weight:700}.blue{background:#e0f2ff;color:#0879af}.orange{background:#fff0db;color:#d76a14}.purple{background:#f0e5ff;color:#8440cf}.actions{display:flex;gap:8px;align-items:center}.actions button{background:none;border:0;color:#b65e42;font-size:20px;padding:0 4px}.actions form{margin:0}.empty{text-align:center;padding:36px;color:var(--muted)}.quick-add{padding:22px 20px}.quick-add h3{margin:0;font-size:17px}.quick-add p{color:var(--muted);font-size:12px;margin:6px 0 14px}.quick-add form{display:flex;flex-direction:column;gap:12px}.quick-add label{max-width:220px;font-size:12px}.quick-buttons{display:flex;flex-wrap:wrap;gap:8px}.quick-choice{border:1px solid transparent;border-radius:7px;padding:10px;font-size:12px;font-weight:650}.blue-choice{background:#e6f4ff;color:#0578b5}.orange-choice{background:#fff0e2;color:#c96018}.purple-choice{background:#f2eaff;color:#7e3fc5}.quick-add small{display:block;margin-top:12px;font-size:11px;color:var(--muted)}.pay-summary{margin:0 20px 20px;padding:16px;background:#f0f8fd;border:1px solid #cde6f8;border-radius:10px;display:flex;justify-content:space-between;gap:16px;align-items:center}.pay-summary p{font-size:11px;color:var(--muted);margin:5px 0 0}.pay-summary>strong{font-size:28px;color:#0788c5;text-align:right;white-space:nowrap}.pay-summary strong small{display:block;font-size:11px;font-weight:500}.side-stack{display:grid;gap:14px;min-width:0}.stat-hero{position:relative;isolation:isolate;border-radius:16px;overflow:hidden;background:#062442;min-height:228px;color:white}.polar-bear{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;z-index:-2}.stat-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#06243deb 0%,#06243d99 44%,transparent 75%);z-index:-1}.bear-copy{padding:25px 22px;width:65%;text-shadow:0 2px 6px #06243d}.eyebrow{font-size:9px;letter-spacing:.16em;color:#a3d7ee}.bear-copy h3{font-size:22px;line-height:1.2;margin:9px 0 2px}.bear-copy p{font-size:13px;margin:0;color:#bcdbee}.bear-copy strong{display:flex;align-items:baseline;gap:7px;color:#86efa9;font-size:56px;line-height:1.2;margin:8px 0}.bear-copy strong small{font-size:16px}.bear-caption{font-size:10px;color:#bcdbee}.side-summary{background:#08263f;color:#b6cddd;padding:0 16px}.side-summary>div{padding:12px 0;border-bottom:1px solid #ffffff16;display:flex;justify-content:space-between;gap:12px;font-size:12px}.side-summary>div:last-child{border:0}.side-summary b{color:white}.chart{background:#082137;color:white;padding:20px;min-width:0}.chart h3{font-size:16px;margin:0}.chart>p{color:#9ab9cf;font-size:11px;margin:5px 0 24px}.chart-scroll{overflow-x:auto;padding-top:5px}.bars{display:flex;gap:8px;min-width:100%;width:max-content;align-items:end}.bar-col{flex:1 0 38px;min-width:38px;text-align:center}.bar-plot{height:180px;display:flex;align-items:end;justify-content:center;padding-top:22px;border-bottom:1px solid #577a93}.bar{width:34px;position:relative;display:flex;flex-direction:column;border-radius:4px 4px 0 0}.bar-total{position:absolute;left:50%;bottom:calc(100% + 5px);transform:translateX(-50%);white-space:nowrap;font-size:11px}.bar-segment{display:flex;align-items:center;justify-content:center;min-height:0;flex-shrink:0;font-size:10px;font-weight:750}.bar-segment:first-of-type{border-radius:3px 3px 0 0}.regular-segment{background:#0088c4}.ot-two{background:#2bc2ee;color:#062137}.ot-four{background:#ff781a}.saturday-segment{background:#9561dd}.bar-col>small{display:block;color:#9fbfd6;font-size:9px;margin-top:6px}.legend{display:flex;flex-wrap:wrap;gap:9px;color:#a6c5d9;font-size:9px;margin-top:16px}.legend i{display:inline-block;width:9px;height:9px;margin-right:4px;border-radius:2px}.legend .base{background:#0088c4}.legend .ot2{background:#2bc2ee}.legend .ot{background:#ff781a}.legend .sat{background:#9561dd}.chart-empty{color:#abc6d8}.form-grid{max-width:960px;margin:auto;padding:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px}.form-grid label{font-size:13px}.form-grid .wide{grid-column:1/-1}.form-section-title{grid-column:1/-1;margin:4px 0 -6px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:15px}.form-grid .hint{margin:0;padding:14px;background:#f0f7fc;border-left:3px solid #57add5;border-radius:6px;font-size:12px;color:var(--muted)}.form-actions{display:flex;align-items:center;gap:20px;grid-column:1/-1}.form-actions button{min-width:200px}.edit-heading{max-width:960px;margin:18px auto 22px}.login{max-width:390px;margin:12vh auto;padding:28px}.login form{display:grid;gap:16px}.flash{padding:14px;border-radius:9px}.success{background:#daf5e6}.error{background:#ffe3e3;color:#922}footer{text-align:center;color:var(--muted);font:italic 14px Georgia,serif;margin:28px auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:1150px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}.side-stack{grid-template-columns:1fr 1fr}.chart{grid-column:1/-1}.bars{width:100%}.hero-quote{font-size:18px}.hero-copy{gap:12px}.mountain-logo{width:90px}.hours-summary{gap:10px}.hours-summary article{padding:15px}.hours-summary strong{font-size:25px}}
@media(max-width:680px){main{padding:14px}header{flex-direction:column;align-items:start;gap:12px}.brand small{display:none}nav{gap:17px;font-size:12px}.hero{padding:25px 18px 0;min-height:420px}.hero-copy{max-width:100%;align-items:start}.mountain-logo{width:59px;margin-top:4px}.hero h1{font-size:42px}.hero-copy p{font-size:15px}.hero-copy em{font-size:13px}.hero-quote{position:static;transform:none;max-width:none;align-self:end;margin:5px 0 20px;font-size:17px}.hero-facts{margin:0 -18px;width:calc(100% + 36px);grid-template-columns:1fr;padding:12px 18px;gap:7px;border-radius:0}.hero-facts>div{padding:0;border:0;gap:10px}.hero-facts b{font-size:22px;width:23px}.hero-facts span{font-size:10px}.hero-facts strong{font-size:12px}.hero-facts strong br{display:none}.title-row{flex-wrap:wrap;gap:12px}.title-row h2{font-size:20px}.muted{display:block;font-size:15px}.period label{min-width:0;flex:1 1 135px}.export-link{margin-left:0}.hours-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.hours-summary strong{font-size:26px}.hours-summary small{font-size:10px}.side-stack{grid-template-columns:1fr}.chart{grid-column:auto}.section-heading{padding:16px;flex-wrap:wrap}.pay-summary{align-items:start;flex-wrap:wrap}.form-grid{grid-template-columns:1fr;padding:20px;gap:18px}.form-grid .wide,.form-section-title,.form-actions{grid-column:auto}.form-actions{flex-direction:column;align-items:stretch;text-align:center}.title-row h1{font-size:26px}.bear-copy{width:65%}.bars{width:max-content}.quick-buttons button{flex:1 1 135px}.quick-add label{max-width:none}.quick-add{padding:18px}.hero-facts strong br:after{content:' · '}}
/* Mobile priority: show the key overtime result before the work-shift journal. */
@media(max-width:680px){
  .dashboard-grid{display:flex;flex-direction:column}
  .side-stack{display:contents}
  .stat-hero{order:-1}
  .journal{order:0}
  .side-summary{order:1}
  .chart{order:2}
}
@media(max-width:680px){
  .dashboard-grid > .stat-hero,.dashboard-grid > .side-summary,.dashboard-grid > .chart{width:100%;align-self:stretch}
}
