:root{--bg:#f6f8f5;--paper:#fff;--paper2:#f0f5f1;--ink:#203b35;--ink2:#517168;--muted:#82948c;--green:#246c57;--green2:#3b9273;--mint:#d4f0e4;--line:#e1eae3;--orange:#f2aa81;--peach:#fff0e5;--purple:#8f83b6;--danger:#c44d52;--shadow:0 8px 28px rgba(43,76,60,.055);--radius:20px;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:14px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #87c5ad;outline-offset:2px}button:disabled{opacity:.55;cursor:not-allowed}input,select{min-width:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.04em}h1{font-size:clamp(30px,3.4vw,43px);line-height:1.12;font-weight:790}h2{font-size:23px}h3{font-size:17px}p{line-height:1.6}svg{width:20px;height:20px;display:block}a{color:var(--green)}.shell{display:flex;min-height:100vh}.sidebar{width:258px;padding:35px 22px 22px;display:flex;flex-direction:column;border-right:1px solid var(--line);flex:none;background:#f9fbf8;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;margin:1px 3px 65px}.brand-mark{height:43px;width:43px;display:grid;place-items:center;border-radius:14px;background:var(--green);flex:none}.brand-mark svg{width:31px;height:31px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.brand-type strong{display:block;font-size:23px;font-weight:800;letter-spacing:-1.5px;line-height:1}.brand-type strong span,.mobile-brand span:not(.mini-mark){font-weight:430}.brand-type small{display:block;font-size:10px;letter-spacing:.035em;color:var(--muted);margin-top:5px}.sidebar-section-label{font-size:10px;letter-spacing:.16em;color:#8fa19a;margin:0 16px 15px;font-weight:800}.desktop-nav{display:grid;gap:7px}.nav-link{display:flex;align-items:center;gap:14px;width:100%;border:0;background:transparent;color:#647b71;text-align:left;border-radius:12px;padding:14px 15px;font-weight:650}.nav-link svg{width:19px;height:19px}.nav-link:hover{background:#eff4f0}.nav-link.active{color:var(--green);background:#e5f3eb}.sidebar-grow{flex:1}.side-note{border-radius:17px;background:#eaf4ed;padding:18px 16px;color:#527569;margin-bottom:23px}.side-note-top{font-size:12px;font-weight:800;color:#356f58}.small-sparkle{margin-right:5px;color:#ec9e70}.side-note p{font-size:12px;line-height:1.5;margin:9px 0 0}.sidebar-footer{font-size:8px;font-weight:800;letter-spacing:.09em;color:#a9b8ae;text-align:center}.main-column{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:26px clamp(24px,4vw,58px) 0}.topbar-left{display:flex;align-items:center;gap:17px}.topbar-kicker,.topbar-date,.eyebrow{font-size:10px;letter-spacing:.11em;font-weight:750;color:var(--muted)}.topbar-date{letter-spacing:0;font-weight:550}.topbar-actions{display:flex;gap:13px;align-items:center}.circle-button,.icon-close{display:grid;place-items:center;border:1px solid var(--line);background:var(--paper);color:var(--ink2);width:41px;height:41px;border-radius:13px}.circle-button:hover,.icon-close:hover{border-color:#a2cdb5}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;background:var(--green);color:#fff;font-weight:730;border-radius:12px;padding:13px 17px;min-height:44px;box-shadow:0 4px 12px rgba(27,99,78,.11);white-space:nowrap}.primary-button:hover{background:#145741}.primary-button svg,.secondary-button svg{width:17px;height:17px}.secondary-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--paper);font-weight:700}.secondary-button:hover{background:#f3f8f4}.text-button{padding:0;border:0;background:none;color:var(--green);font-weight:750}.text-button:hover{text-decoration:underline}.danger-button{border:0;border-radius:12px;background:var(--danger);color:white;padding:13px 18px;min-height:44px;font-weight:700}.danger-outline{border-color:#f3d9da;color:var(--danger)}.main-footer{margin:auto 0 0;padding:35px clamp(24px,4vw,58px) 30px;color:#a0b1a5;font-size:11px;letter-spacing:.01em}.main-footer span{color:var(--orange)}main{padding:26px clamp(24px,4vw,58px) 5px;max-width:1640px;width:100%;margin:0 auto;flex:1}.mobile-brand{display:none}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:25px}.page-header h1{margin:7px 0 10px}.page-header p{font-size:14px;color:var(--ink2);margin:0}.page-actions{display:flex;align-items:center;gap:9px}.range-tabs,.segmented{display:inline-flex;background:#eaf1eb;border-radius:12px;padding:4px;gap:2px}.range-tab,.segment{border:0;background:transparent;color:#6b8679;border-radius:9px;padding:10px 13px;font-size:12px;font-weight:750;white-space:nowrap}.range-tab.active,.segment.active{background:white;color:var(--green);box-shadow:0 2px 8px rgba(32,67,48,.09)}.date-eyebrow{font-size:11px;color:var(--green2);letter-spacing:.13em;font-weight:850;text-transform:uppercase}.card{border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat-card{padding:22px 21px 20px;position:relative;min-height:165px;overflow:hidden}.stat-card.main-stat{background:#246c57;color:#fff;border-color:#246c57}.stat-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--paper2);color:var(--green)}.stat-icon svg{width:18px;height:18px}.main-stat .stat-icon{background:#43866e;color:#fff}.stat-label{font-size:12px;color:var(--ink2);margin-top:13px;font-weight:620;letter-spacing:.005em}.main-stat .stat-label{color:#d2e5dc}.stat-value{font-size:clamp(24px,2.5vw,34px);font-weight:800;letter-spacing:-.065em;margin-top:6px;line-height:1.1;white-space:nowrap}.stat-sub{color:var(--muted);font-size:11px;margin-top:10px}.main-stat .stat-sub{color:#d2e5dc}.main-stat::after{content:'✳';position:absolute;font-size:85px;right:-5px;top:-19px;color:#ffffff10}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(275px,1fr);gap:17px;margin-top:17px}.panel{padding:23px 24px}.panel-head{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:20px}.panel-head h2{font-size:19px;letter-spacing:-.035em;margin-bottom:5px}.panel-head p{color:var(--muted);font-size:12px;margin:0}.panel-link{font-size:12px;background:none;color:var(--green);font-weight:800;border:0;white-space:nowrap;padding:6px}.chart-wrap{min-height:250px;display:flex;align-items:flex-end}.chart-bars{height:224px;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));align-items:end;width:100%;gap:clamp(5px,1.7vw,15px);border-bottom:1px solid #dfe8e1;padding:0 5px}.chart-column{height:100%;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative;gap:9px}.bar-track{height:176px;width:min(100%,44px);display:flex;flex-direction:column;justify-content:flex-end;border-radius:8px 8px 0 0;overflow:hidden;gap:0;min-height:2px}.chart-section{width:100%;min-height:0}.bar-tips{background:#6bb598}.bar-wages{background:#d0e7dc}.bar-track:hover .bar-tips{background:#368765}.bar-track:hover .bar-wages{background:#a9d6bf}.axis-label{height:28px;text-align:center;color:#8b9c90;font-size:10px;white-space:nowrap;line-height:14px}.chart-legend{display:flex;align-items:center;gap:18px;margin-top:19px;font-size:11px;color:var(--ink2)}.legend-item{display:inline-flex;align-items:center;gap:7px}.legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:#6bb598}.legend-dot.wages{background:#d0e7dc}.legend-dot.cash{background:#efad89}.pie-row{display:flex;align-items:center;justify-content:center;gap:20px;padding:10px 0 23px}.donut{width:145px;height:145px;border-radius:50%;display:grid;place-items:center;flex:none}.donut-center{width:102px;height:102px;background:white;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 0 0 1px rgba(255,255,255,.5)}.donut-center strong{font-size:22px;font-weight:800;letter-spacing:-.06em}.donut-center span{font-size:11px;color:var(--muted)}.donut-legend{display:grid;gap:17px}.donut-legend strong{font-size:15px;display:block;margin:4px 0 0}.feature-panel{background:#ecf5ec;border:1px solid #dceade;border-radius:var(--radius);padding:22px 24px;position:relative;overflow:hidden;min-height:183px;display:flex;flex-direction:column;justify-content:space-between}.feature-panel:after{content:'✳';color:#d2e6d6;font-size:130px;position:absolute;right:-30px;bottom:-66px;pointer-events:none}.feature-panel .feature-title{font-size:11px;color:#638b70;font-weight:800;text-transform:uppercase;letter-spacing:.11em}.feature-panel h2{font-size:28px;letter-spacing:-.05em;margin:10px 0 4px}.feature-panel p{font-size:12px;color:#5c7f69;margin:0}.progress{height:9px;border-radius:20px;background:#d1e3d4;overflow:hidden;position:relative;z-index:1;margin-top:19px}.progress-fill{height:100%;background:#469878;border-radius:20px;transition:width .3s}.progress-footer{display:flex;justify-content:space-between;font-size:11px;color:#65836c;margin-top:8px;position:relative;z-index:1}.lower-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(275px,1fr);gap:17px;margin-top:17px}.shift-row{display:flex;align-items:center;gap:12px;border-top:1px solid #edf0ed;padding:14px 0}.shift-row:first-child{border-top:0;padding-top:0}.shift-date-badge{display:flex;align-items:center;justify-content:center;flex-direction:column;background:#edf5ef;border-radius:12px;width:49px;height:53px;flex:none;color:#416f58}.shift-date-badge strong{font-size:20px;line-height:1.05}.shift-date-badge small{font-size:9px;letter-spacing:.08em;font-weight:850}.shift-meta{flex:1;min-width:0}.shift-meta strong{font-size:13px;display:block}.shift-meta small{font-size:11px;color:var(--muted);display:block;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shift-amount{text-align:right;white-space:nowrap}.shift-amount strong{font-size:17px;letter-spacing:-.03em;display:block}.shift-amount small{font-size:11px;color:var(--muted);margin-top:4px;display:block}.shift-edit{width:35px;height:35px;display:grid;place-items:center;border:0;border-radius:10px;color:#7a9587;background:#f5f8f5}.shift-edit svg{width:16px;height:16px}.empty-state{text-align:center;padding:40px 18px;color:var(--ink2)}.empty-state .empty-art{display:grid;place-items:center;margin:0 auto 18px;width:70px;height:70px;background:#e8f3eb;color:var(--green);border-radius:23px}.empty-state .empty-art svg{width:30px;height:30px}.empty-state h3{color:var(--ink);font-size:20px;margin-bottom:8px}.empty-state p{font-size:12px;max-width:290px;margin:0 auto 19px}.empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.first-setup{background:#fff5ed;border:1px solid #f6e1cf;color:#926e50;border-radius:14px;padding:13px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.first-setup strong{color:#7d593c}.first-setup span{font-size:12px;line-height:1.5}.first-setup button{flex:none;font-size:12px;font-weight:750;border:0;background:#f3dfca;padding:9px 12px;color:#885f3c;border-radius:9px}.tag{display:inline-flex;align-items:center;padding:4px 8px;border-radius:7px;background:#e6f4eb;color:#317554;font-size:10px;font-weight:800}.tag.demo{background:#fff1e6;color:#b17d5b}.panel-footer-link{margin-top:12px;padding-top:13px;border-top:1px solid var(--line)}.week-list{display:grid;gap:12px}.weekday-row{display:grid;grid-template-columns:42px 1fr 65px;align-items:center;gap:10px;font-size:12px}.weekday-name{font-weight:700;color:var(--ink2)}.weekday-track{height:8px;background:#eff3ef;border-radius:8px;overflow:hidden}.weekday-fill{height:100%;border-radius:8px;background:var(--green2)}.weekday-amount{text-align:right;font-weight:760}.hint-text{color:var(--muted);font-size:11px;line-height:1.5}.year-hero{background:#246c57;color:#fff;border-radius:22px;padding:26px 28px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.year-hero .eyebrow{color:#b6d7ca}.year-hero h2{font-size:36px;letter-spacing:-.06em;margin:9px 0 5px}.year-hero p{color:#d0e8dd;margin:0;font-size:12px}.year-hero-icon{height:63px;width:63px;display:grid;place-items:center;border-radius:18px;background:#ffffff1e;flex:none}.year-hero-icon svg{width:30px;height:30px}.insight-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:18px}.insight-card{padding:19px}.insight-card small{color:var(--muted);font-size:11px}.insight-card strong{display:block;font-size:25px;letter-spacing:-.045em;margin:9px 0 6px}.insight-card p{font-size:11px;color:var(--ink2);margin:0}.insights-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(270px,1fr);gap:16px}.month-table{width:100%;border-collapse:collapse}.month-table th{text-align:left;color:#8c9f92;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:12px 8px}.month-table td{padding:13px 8px;border-top:1px solid #eff2ee;font-size:12px}.month-table td:not(:first-child),.month-table th:not(:first-child){text-align:right}.month-table tr.current-month td:first-child{font-weight:800;color:var(--green)}.filter-row{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:0 0 16px;flex-wrap:wrap}.list-container{padding:6px 20px}.list-container .shift-row{padding:17px 0}.list-container .shift-row:first-child{padding-top:17px}.filter-input{padding:10px 12px;background:white;border:1px solid var(--line);border-radius:11px;min-height:41px;width:220px;color:var(--ink)}.shift-list-total{font-size:12px;color:var(--ink2)}.shift-list-total strong{color:var(--ink)}.demo-banner{font-size:12px;background:#fff6e7;color:#9b7551;border-radius:11px;padding:12px 15px;margin-bottom:15px;display:flex;gap:10px;align-items:center;justify-content:space-between}.demo-banner button{background:transparent;border:0;font-weight:800;color:#946747}.settings-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(270px,1fr);gap:18px}.settings-stack{display:grid;gap:17px;align-content:start}.settings-panel{padding:25px}.settings-panel h2{font-size:20px;margin:0 0 5px}.settings-panel .panel-intro{color:var(--muted);font-size:12px;margin:0 0 23px}.field{display:flex;flex-direction:column;gap:8px;font-weight:750;font-size:12px;color:var(--ink)}.field input,.field select{border:1px solid #dce7df;background:#fff;border-radius:11px;min-height:47px;padding:12px 13px;width:100%;color:var(--ink);font-size:15px;font-weight:580;outline:0}.field input:focus,.field select:focus{border-color:#59a483;box-shadow:0 0 0 3px rgba(89,164,131,.13)}.field-hint{font-size:10px;color:var(--muted);font-weight:450}.field .input-prefix,.field .input-suffix{display:flex;align-items:center;position:relative}.input-prefix>span,.input-suffix>span{position:absolute;color:#899f8e;font-weight:720;font-size:14px;pointer-events:none}.input-prefix>span{left:13px}.input-prefix>input{padding-left:30px}.input-suffix>span{right:13px}.input-suffix>input{padding-right:50px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-form{display:grid;gap:17px}.settings-form .primary-button{justify-self:start;margin-top:3px}.setting-choice{display:flex;align-items:center;justify-content:space-between;padding:13px 0;gap:12px;border-bottom:1px solid var(--line)}.setting-choice:last-child{border:0}.setting-choice strong{font-size:12px}.setting-choice small{color:var(--muted);font-size:11px;display:block;margin-top:4px;line-height:1.5}.privacy-card{background:#e8f4ee;color:#3b795c;padding:22px;border-radius:17px}.privacy-card p{font-size:12px;margin:6px 0 0}.privacy-card strong{font-size:16px}.action-stack{display:grid;gap:10px}.action-stack button{justify-content:flex-start}.warn-caption{font-size:11px;color:#8e9b93;line-height:1.55}.danger-link{color:var(--danger);background:none;border:0;padding:0;font-size:12px;font-weight:740}.bottom-nav{display:none}.modal{border:1px solid var(--line);width:min(96vw,530px);max-height:min(92dvh,850px);border-radius:23px;box-shadow:0 25px 90px #0e362c3d;background:#fff;padding:0;overflow:auto;color:var(--ink)}.modal::backdrop{background:rgba(21,47,37,.5);backdrop-filter:blur(4px)}.dialog-head{padding:25px 28px 15px;display:flex;align-items:start;justify-content:space-between;gap:15px}.dialog-head h2{font-size:25px;margin:7px 0 5px}.dialog-head p{font-size:12px;color:var(--muted);margin:0}.shift-form{padding:4px 28px 24px;display:grid;gap:16px}.form-divider{display:flex;align-items:center;gap:12px;margin:2px 0 -2px;color:#9aaba0;font-size:10px;letter-spacing:.13em;font-weight:800}.form-divider:after{content:'';height:1px;flex:1;background:var(--line)}.advanced-options{padding:13px 15px;border:1px solid var(--line);border-radius:11px}.advanced-options summary{font-size:12px;font-weight:750;cursor:pointer}.advanced-options summary span{float:right;font-size:11px;font-weight:500;color:var(--muted)}.advanced-body{display:grid;gap:13px;margin-top:18px}.live-preview{display:grid;grid-template-columns:1fr auto;gap:4px;align-items:center;background:#eaf4ed;border-radius:15px;padding:15px 17px}.live-preview span{font-size:12px;font-weight:800;color:#547c62}.live-preview strong{font-size:24px;letter-spacing:-.04em;color:#286d51}.live-preview small{grid-column:1/-1;color:#708f77;font-size:11px}.dialog-actions{padding-top:4px;display:flex;justify-content:flex-end;gap:9px}.help-body{padding:5px 28px 8px}.help-row{display:flex;gap:14px;padding:12px 0}.help-num{display:grid;place-items:center;width:34px;height:34px;flex:none;color:#307459;background:#e6f4ec;border-radius:11px;font-weight:800;font-size:12px}.help-row strong{font-size:13px}.help-row p{font-size:12px;color:var(--ink2);margin:5px 0 0}.install-tip{background:#eef6f0;border-radius:13px;padding:16px;margin:7px 0}.install-tip p{font-size:12px;margin:6px 0 0;color:var(--ink2)}.help-modal>.dialog-actions{padding:0 28px 25px}.full-width{width:100%}.confirm-modal{width:min(92vw,420px)}.confirm-modal>p{margin:2px 28px 12px;color:var(--ink2);font-size:13px}.confirm-modal>.dialog-actions{padding:7px 28px 25px}.toast{position:fixed;z-index:200;bottom:28px;left:50%;transform:translate(-50%,25px);opacity:0;pointer-events:none;background:#234a3c;color:white;border-radius:13px;padding:13px 18px;box-shadow:0 10px 30px #17392a2f;font-size:12px;font-weight:700;transition:opacity .2s,transform .2s;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.demo-note{color:#c18b69;font-size:10px;font-weight:800}.mobile-only{display:none}
@media(max-width:1150px){.sidebar{width:218px;padding-left:15px;padding-right:15px}.brand-type strong{font-size:20px}.dashboard-grid,.lower-grid{grid-template-columns:minmax(0,1.45fr) minmax(245px,1fr)}.panel{padding:20px}.stat-card{padding:18px 16px;min-height:150px}.stat-value{font-size:26px}.stats-grid{gap:11px}}
@media(max-width:940px){.sidebar{display:none}.topbar{padding-top:22px}.topbar-left{display:none}.mobile-brand{display:block;font-size:22px;letter-spacing:-1.3px;font-weight:800}.mini-mark{background:var(--green);font-size:20px;color:white;width:32px;height:32px;border-radius:10px;display:inline-grid;place-items:center;vertical-align:middle;margin-right:7px}.stats-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.topbar{padding:18px 18px 0}.top-add{display:none}.topbar-actions .circle-button{width:35px;height:35px;border-radius:11px}.mobile-brand{font-size:20px}.mini-mark{width:31px;height:31px}.main-footer{display:none}main{padding:27px 17px 105px}.page-header{align-items:start;flex-direction:column;gap:16px;margin-bottom:20px}.page-header h1{font-size:32px;margin-bottom:8px}.page-header p{font-size:12px}.page-actions{width:100%;overflow:auto}.range-tabs{width:100%;justify-content:space-between}.range-tab{flex:1;padding:10px 9px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.stat-card{min-height:148px;border-radius:17px}.stat-value{font-size:27px}.stat-label{font-size:11px}.stat-sub{font-size:10px}.dashboard-grid,.lower-grid,.insights-grid,.settings-grid{grid-template-columns:1fr;gap:13px;margin-top:13px}.panel{padding:21px}.panel-head{margin-bottom:15px}.pie-row{justify-content:space-evenly}.chart-wrap{min-height:215px}.chart-bars{height:204px}.bar-track{height:154px}.chart-legend{margin-top:15px}.bottom-nav{display:flex;align-items:center;justify-content:space-between;position:fixed;bottom:0;left:0;right:0;z-index:30;padding:7px 7px calc(7px + env(safe-area-inset-bottom));background:#ffffffed;backdrop-filter:blur(15px);border-top:1px solid #e5ebe5;box-shadow:0 -5px 24px #244d3510}.bottom-link{border:0;background:none;color:#83968a;min-height:51px;min-width:55px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:9px;font-weight:700}.bottom-link svg{width:21px;height:21px}.bottom-link.active{color:var(--green)}.bottom-add{display:grid;place-items:center;flex:none;background:var(--green);width:51px;height:51px;color:white;border-radius:17px;border:0;margin-top:-22px;box-shadow:0 6px 16px #1d654632}.bottom-add svg{width:23px;height:23px}.year-hero{padding:23px}.year-hero h2{font-size:34px}.insight-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.insight-card{padding:13px 11px}.insight-card strong{font-size:21px}.insight-card small,.insight-card p{font-size:10px}.settings-panel{padding:21px}.filter-row{align-items:stretch}.filter-input{width:100%}.list-container{padding:3px 15px}.modal{width:100%;max-width:none;max-height:94dvh;position:fixed;bottom:0;top:auto;margin:0;border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom)}.dialog-head{padding:23px 21px 17px}.shift-form{padding:3px 21px 20px;gap:14px}.help-body{padding:4px 21px 9px}.help-modal>.dialog-actions{padding:4px 21px 24px}.confirm-modal{width:min(100%,450px);margin:auto;bottom:auto;top:auto;border-radius:20px}.confirm-modal>p{margin:0 21px 12px}.confirm-modal>.dialog-actions{padding:5px 21px 23px}.toast{bottom:90px}.mobile-only{display:block}}
@media(max-width:380px){.stat-value{font-size:24px}.range-tab{font-size:11px;padding:10px 6px}.shift-amount strong{font-size:15px}.shift-date-badge{width:45px}.shift-row{gap:9px}.two-fields{gap:10px}.field input,.field select{font-size:14px}.pie-row{gap:10px}.donut{width:125px;height:125px}.donut-center{width:91px;height:91px}.donut-center strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
[hidden]{display:none!important}
@media(min-width:701px){.shift-modal{margin:auto}.confirm-modal{margin:auto}}

/* v1.1 clarity for mixed tips, accessible on narrow iPhones */
.tip-note{font-size:12px;line-height:1.5;color:#536f5e;background:#eef6f0;border:1px solid #dceee1;border-radius:12px;padding:10px 12px;margin:0}
.tip-note strong{color:#22583d}
@media(max-width:700px){.shift-form .two-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.shift-form .field{min-width:0}.shift-form .field input,.shift-form .field select{min-width:0;font-size:16px}.live-preview small{line-height:1.6}}
@media(max-width:365px){.shift-form .two-fields{grid-template-columns:1fr}}

/* v1.2: shift / work-area tracking and year comparisons */
.shift-area-badge{display:inline-block;vertical-align:middle;color:#37775e;background:#edf6f0;border-radius:7px;font-size:10px;font-weight:700;letter-spacing:.01em;padding:3px 7px;margin-left:6px}
.filter-row .area-filter{width:155px;flex-shrink:0}
.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-top:17px}
.comparison-list{display:grid;gap:17px;padding-top:5px}
.comparison-row{min-width:0}
.comparison-row-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px}
.comparison-name{font-size:13px;font-weight:650}
.comparison-row-top strong{font-size:13px;white-space:nowrap;color:var(--green)}
.comparison-track{height:8px;border-radius:40px;background:#edf2ec;overflow:hidden}
.comparison-fill{height:100%;border-radius:40px;background:linear-gradient(90deg,#8ccfb0,#328a68)}
.comparison-foot{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px;margin-top:6px}
.comparison-note{margin:15px 0 0}
@media(max-width:900px){.comparison-grid{grid-template-columns:1fr}}
@media(max-width:700px){.filter-row .area-filter{width:100%}.comparison-grid{gap:13px}.shift-area-badge{margin-left:4px}.comparison-panel{padding:20px}}

/* v1.3 cashout slip, payment reconciliation */
.receipt-mini{display:grid;gap:6px;margin:12px 0;border-radius:13px;background:#f6faf7;padding:12px;border:1px solid #e0ece4}
.receipt-mini>div{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:#4c685c;line-height:1.4}
.receipt-mini strong{white-space:nowrap;color:#27543e;font-variant-numeric:tabular-nums;font-size:12px}
.receipt-mini-total{border-top:1px solid #d5e7da;padding-top:9px;margin-top:3px}
.receipt-mini-total strong{font-size:16px!important;color:#206a4d!important}
.receipt-warning{color:#ae3e42;font-weight:700}
.receipt-warning-card{background:#fff5e8;color:#7d5833;border:1px solid #f4ddbd;padding:10px 12px;border-radius:12px;font-size:12px;line-height:1.5}
.shift-modal .live-preview{padding:16px;}
@media(max-width:700px){.receipt-mini{padding:11px 9px}.receipt-mini>div{font-size:11px}.receipt-mini strong{font-size:11px}.shift-form .field-hint{font-size:11px}}

/* Shift Studio v1.4 · account login and sync status */
.cloud-gate[hidden], .cloud-auth-form[hidden], .cloud-error[hidden] {display:none !important}
.cloud-gate {position:fixed;inset:0;z-index:1000;background:linear-gradient(155deg,#e9f6ed 0%,#f7f8f5 63%,#f7eadd 100%);display:flex;justify-content:center;align-items:center;padding:24px max(16px,env(safe-area-inset-left));overflow:auto}
.cloud-card {width:min(100%,425px);padding:clamp(24px,5vw,38px);background:#fff;border:1px solid #dcebe0;border-radius:26px;box-shadow:0 16px 58px rgba(15,62,41,.10);color:#204438}
.cloud-logo {width:58px;height:58px;border-radius:17px;background:#246c57;color:#fff;font-size:37px;display:grid;place-items:center;margin-bottom:20px}
.cloud-card .eyebrow {color:#5d947d;font-size:11px;letter-spacing:.12em;font-weight:700}
.cloud-card h1 {font-size:clamp(27px,5vw,35px);line-height:1.15;letter-spacing:-.05em;margin:10px 0 12px}
.cloud-subtitle {color:#648276;line-height:1.55;margin:0 0 23px;font-size:14px}
.cloud-auth-form {display:flex;flex-direction:column;gap:16px}
.cloud-auth-form input {background:#f8faf7;font-size:16px;min-height:46px}
.cloud-auth-form .primary-button,.cloud-auth-form .secondary-button {justify-content:center;width:100%;min-height:46px}
.cloud-auth-foot {color:#719184;font-size:12px;margin-top:22px;line-height:1.6;text-align:center}
.cloud-error {padding:12px 14px;margin:14px 0;background:#fff1e9;border:1px solid #f0c4ae;color:#a44322;border-radius:12px;font-size:13px;line-height:1.5}
.cloud-account-actions {display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.cloud-account-actions .secondary-button {font-size:12px;padding:10px 12px}
#sync-indicator {font-size:11px;font-weight:700;padding:7px 10px;border-radius:99px;background:#e6f5eb;color:#26694e;white-space:nowrap}
#sync-indicator.unsynced {background:#fff1d9;color:#945e18}
@media(max-width:600px) {#sync-indicator{font-size:10px;padding:5px 8px}.cloud-card{margin:auto}.cloud-gate{align-items:center}}
