.phone-app{min-height:100dvh;background:var(--bg);padding-bottom:calc(84px + env(safe-area-inset-bottom))}.phone-topbar{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--line);min-height:76px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.phone-brand{display:flex;align-items:center;gap:10px}.phone-brand img{width:44px;height:44px;border-radius:11px}.phone-brand strong{display:block;font-size:16px;letter-spacing:1.8px;color:#1c3827}.phone-brand span{display:block;font-size:10px;color:#849080;margin-top:1px}.phone-account{display:flex;align-items:center;gap:9px;min-width:64px;min-height:44px;border-radius:24px;border:1px solid #dae5d4;background:#eef5e8;color:#3d6439;padding:8px 11px;font-size:12px;font-weight:650}.phone-account svg{width:18px;height:18px}.phone-content{max-width:660px;padding:23px 18px 12px}.phone-page-heading{margin-bottom:20px}.phone-page-heading .eyebrow{margin:0 0 5px;font-size:10px;letter-spacing:1.5px;color:#7e907a}.phone-page-heading h1{font-size:28px;letter-spacing:-.8px;line-height:1.2;margin:0 0 8px;font-weight:650}.phone-page-heading>p:last-child{margin:0;font-size:12px;color:#7c877e}.phone-period{border:1px solid var(--line);border-radius:13px;background:#fff;margin-bottom:16px;padding:12px}.phone-period-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid #eef1eb}.phone-period .segment button{min-height:38px;padding:7px 13px;font-size:12px}.phone-today{background:transparent;border:0;color:#527b46;font-size:12px;min-height:40px;padding:6px}.phone-period-nav{display:flex;align-items:center;justify-content:space-between;gap:6px;padding-top:7px}.phone-period-nav h2{font-size:14px;font-weight:600;letter-spacing:-.3px;text-align:center;margin:0;text-transform:none}.phone-app .icon-btn{min-width:42px;min-height:42px;width:42px;height:42px;border-radius:9px}.phone-period-nav .icon-btn{border:0}.phone-today-card{background:#eaf2e4;border:1px solid #d7e5cc;padding:16px;border-radius:13px;margin-bottom:15px}.phone-card-label{font-size:12px;font-weight:650;color:#42633a;display:flex;align-items:center;gap:6px;margin-bottom:12px}.phone-card-label>span:last-child{font-size:11px;font-weight:400;margin-left:auto;text-transform:capitalize;color:#778970}.phone-live-dot{width:6px;height:6px;border-radius:50%;background:#7b9d65}.phone-shift{padding:12px;background:#f0f5eb;border:1px solid #e1ead9;border-radius:9px;margin-top:9px;color:#35552c}.phone-shift.has-cash{background:#ebf5ef;border-color:#d9e9df;color:#36634c}.phone-shift>div{display:flex;justify-content:space-between;align-items:center;gap:8px}.phone-shift strong{font-size:16px;font-weight:650;font-variant-numeric:tabular-nums}.phone-shift>div>span{font-size:11px;color:#809075;white-space:nowrap}.phone-shift small{font-size:11px;margin-top:3px;display:block}.phone-shift p{font-size:11px;line-height:1.5;margin:7px 0 0;padding-top:6px;border-top:1px solid #dce9df;color:#6f8a76;overflow-wrap:anywhere}.phone-today-card .phone-shift{background:#ffffffad;border-color:#dce7d4}.phone-today-card .phone-shift strong{font-size:20px}.phone-rest{display:flex;align-items:center;gap:8px;padding:10px 0 2px;color:#85927c;font-size:12px}.phone-rest svg{width:17px;height:17px}.phone-summary{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:#fff;border-radius:12px;margin:15px 0 23px;padding:15px 0}.phone-summary>div{padding:0 18px;display:flex;flex-direction:column;gap:3px}.phone-summary>div+div{border-left:1px solid var(--line)}.phone-summary strong{font-size:21px;font-weight:650;letter-spacing:-.5px}.phone-summary span{font-size:11px;color:#85907e}.phone-section-title{font-size:13px;font-weight:600;margin:18px 0 11px;color:#687962}.phone-personal-days,.phone-service-slots{display:grid;gap:11px}.phone-day{padding:15px;background:white;border:1px solid var(--line);border-radius:12px}.phone-day.is-today{border-color:#a7c18e;box-shadow:0 0 0 1px #a7c18e33}.phone-day>header{display:flex;justify-content:space-between;align-items:center;gap:8px}.phone-day>header>div{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}.phone-day>header strong{font-size:13px;text-transform:capitalize;font-weight:650}.phone-day>header>div>span{font-size:11px;color:#87907e}.phone-day .pill{font-size:10px}.phone-day-hours{font-size:11px;color:#789269;white-space:nowrap}.phone-partial-rest{font-size:11px;color:#8b977f;margin:10px 0 0}.phone-day-picker{padding:14px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;margin-bottom:13px}.phone-day-picker>label{display:block;font-size:11px;color:#7c8c72;margin:0 4px 7px}.phone-day-picker>div{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:6px;align-items:center}.phone-day-picker select{font-size:13px;padding:11px 7px;width:100%;min-width:0;border-color:#e1e8da;background:#f8faf5;text-transform:capitalize;min-height:44px}.phone-day-picker .icon-btn{border:0}.phone-coverage{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:7px;margin-bottom:18px;color:#69865a;font-size:10px}.phone-coverage>span{display:inline-flex;gap:5px;align-items:center}.phone-coverage svg{width:14px;height:14px}.phone-slot{border:1px solid var(--line);background:white;padding:15px;border-radius:12px}.phone-slot>header{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:13px}.phone-slot>header strong{font-size:16px;font-weight:650;font-variant-numeric:tabular-nums}.phone-slot>header>span{font-size:11px;color:#8b9582}.phone-slot .crew-list{gap:6px}.phone-slot .crew-tag{font-size:11px;max-width:100%}.phone-slot-footer{display:flex;flex-direction:column;gap:7px;margin-top:13px;padding-top:10px;border-top:1px solid #edf1e8;color:#8a977f;font-size:11px}.phone-cash-label{display:flex;align-items:center;gap:5px;color:#5f806b}.phone-cash-label svg{width:14px;height:14px}.phone-app .warn{color:#a87d37}.phone-generate{margin:0 0 17px}.phone-generate .btn{width:100%;min-height:46px;font-size:13px;border-radius:10px}.phone-generate p{font-size:10px;text-align:center;color:#8a9780;margin:7px 0 0}.phone-updated{font-size:10px;text-align:center;color:#a0aa98;margin:24px 0 5px}.phone-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:30;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;padding:9px 18px calc(9px + env(safe-area-inset-bottom));gap:8px;box-shadow:0 -3px 18px #173c2405}.phone-bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:52px;padding:6px 8px;border:0;border-radius:10px;background:transparent;color:#8c9784;font-size:11px}.phone-bottom-nav button svg{width:21px;height:21px}.phone-bottom-nav button.active{background:#edf4e7;color:#3e7337;font-weight:600}.phone-menu-overlay{position:fixed;inset:0;z-index:39;border:0;background:#10291a66;backdrop-filter:blur(2px);width:100%;height:100%}.phone-menu{position:fixed;top:calc(14px + env(safe-area-inset-top));left:14px;right:14px;max-width:420px;margin:auto;padding:15px;background:#fff;border-radius:15px;box-shadow:0 15px 60px #12352333;z-index:40;max-height:calc(100dvh - 30px);overflow:auto}.phone-menu-person{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:0 0 12px;margin-bottom:10px}.phone-menu-person .avatar{width:38px;height:38px;font-size:13px}.phone-menu-person strong{font-size:14px;font-weight:600}.phone-menu-person small{display:block;font-size:11px;color:#8d9785}.phone-menu-person .icon-btn{margin-left:auto}.phone-menu nav{display:grid;gap:2px}.phone-menu nav button,.phone-menu-account,.phone-menu-logout{display:flex;align-items:center;gap:11px;width:100%;min-height:44px;padding:10px 11px;border:0;border-radius:8px;background:#fff;color:#687f59;font-size:13px;text-align:left}.phone-menu nav button.active{background:#edf4e7;font-weight:600;color:#3e6f35}.phone-menu nav button svg,.phone-menu-account svg{width:18px;height:18px}.phone-menu-account{margin-top:8px;border-top:1px solid var(--line);border-radius:0}.phone-menu-logout{font-size:12px;color:#929d8b;justify-content:center;margin-top:8px}.phone-computer-card{border:1px solid var(--line);border-radius:15px;background:white;padding:34px 23px;text-align:center;margin:36px 0}.phone-computer-icon{display:grid;place-items:center;width:65px;height:65px;margin:0 auto 21px;background:#edf4e7;color:#73965a;border-radius:17px}.phone-computer-icon svg{width:32px;height:32px}.phone-computer-card h2{font-size:20px;line-height:1.35;letter-spacing:-.5px;max-width:250px;margin:0 auto 13px;font-weight:600}.phone-computer-card p{font-size:12px;line-height:1.7;color:#8b9682;margin:0 auto 24px;max-width:280px}.phone-computer-card .btn{min-height:44px;font-size:12px;padding:11px 16px}.phone-app #save-failure{font-size:12px;flex-wrap:wrap;align-items:start}.phone-app #save-failure .btn{min-height:40px;font-size:11px}
@media(max-width:760px){.account-page{padding-top:max(25px,env(safe-area-inset-top))}.account-card .field>input,.account-password>input{font-size:16px}.account-page .account-card{max-width:420px}.phone-app~#modal-root .modal{max-height:92dvh}.modal input,.modal select{font-size:16px}.modal-footer .btn{min-height:44px;white-space:normal}.phone-app .btn{touch-action:manipulation}#toast{left:50%;bottom:calc(90px + env(safe-area-inset-bottom));max-width:calc(100vw - 30px);width:max-content;font-size:12px}.phone-content{padding-top:23px}.phone-topbar{padding-top:max(14px,env(safe-area-inset-top))}}
@media(max-width:350px){.phone-content{padding-left:12px;padding-right:12px}.phone-topbar{padding-left:12px;padding-right:12px}.phone-card-label{flex-wrap:wrap}.phone-card-label>span:last-child{width:100%;margin:2px 0 0 12px}.phone-period .segment button{padding:7px 10px}.phone-period-nav h2{font-size:12px}.phone-slot>header strong{font-size:14px}.phone-today-card .phone-shift strong{font-size:17px}.phone-coverage{font-size:9px}}
@media print{.phone-topbar,.phone-bottom-nav,.phone-menu,.phone-menu-overlay,.phone-generate{display:none!important}.phone-app{padding-bottom:0}.phone-shift,.phone-day,.phone-slot{break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}}

.phone-period-actions{display:flex;align-items:center;gap:2px}.phone-app .phone-refresh{width:36px;min-width:36px;border:0;color:#7d966b}.phone-refresh svg{width:17px;height:17px}.phone-slot .crew-tag{font-size:12px;padding:4px 7px;white-space:normal;overflow-wrap:anywhere}.phone-slot .crew-tag i{flex-shrink:0}
