*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--gold: #CF8C00;--gold-light: #E5A820;--gold-dark: #A67000;--gold-bg: #FFF8E7;--beige: #F5F0E3;--gray: #7F8082;--gray-light: #E8E6E1;--gray-dark: #4A4A4A;--dark: #2C2C2C;--white: #FFFFFF;--red: #D32F2F;--red-light: #FFEBEE;--green: #2E7D32;--green-light: #E8F5E9;--blue: #1565C0;--blue-light: #E3F2FD;--radius: 12px;--radius-sm: 8px;--shadow: 0 2px 8px rgba(0,0,0,.08);--shadow-lg: 0 4px 16px rgba(0,0,0,.12);--font: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--safe-bottom: env(safe-area-inset-bottom, 0px)}html,body{font-family:var(--font);background:var(--beige);color:var(--dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}body{min-height:100dvh}button{font-family:var(--font);cursor:pointer;border:none;outline:none;-webkit-tap-highlight-color:transparent}input,textarea,select{font-family:var(--font);font-size:16px}a{color:var(--gold-dark);text-decoration:none}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-light);border-radius:2px}.app-shell{padding-bottom:calc(72px + var(--safe-bottom));min-height:100dvh}.status-scheduled{color:var(--blue);background:var(--blue-light)}.status-in_progress{color:var(--gold-dark);background:var(--gold-bg)}.status-paused{color:var(--gray);background:var(--gray-light)}.status-completed{color:var(--green);background:var(--green-light)}.status-invoiced{color:#6a1b9a;background:#f3e5f5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--radius-sm);font-weight:600;font-size:15px;transition:all .15s ease;min-height:48px;min-width:48px}.btn-primary{background:var(--gold);color:var(--white)}.btn-primary:active{background:var(--gold-dark);transform:scale(.97)}.btn-secondary{background:var(--white);color:var(--dark);border:1.5px solid var(--gray-light)}.btn-secondary:active{background:var(--beige)}.btn-danger{background:var(--red);color:var(--white)}.btn-ghost{background:transparent;color:var(--gold-dark);padding:8px 12px}.btn-sm{padding:8px 16px;font-size:13px;min-height:36px}.btn-block{width:100%}.card{background:var(--white);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.input{width:100%;padding:12px 16px;border:1.5px solid var(--gray-light);border-radius:var(--radius-sm);background:var(--white);font-size:16px;transition:border-color .15s;min-height:48px}.input:focus{border-color:var(--gold);outline:none}.textarea{width:100%;padding:12px 16px;border:1.5px solid var(--gray-light);border-radius:var(--radius-sm);background:var(--white);font-size:16px;resize:vertical;min-height:80px}.textarea:focus{border-color:var(--gold);outline:none}.label{display:block;font-size:13px;font-weight:600;color:var(--gray);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600;text-transform:capitalize}.page-header{padding:16px 16px 8px}.page-title{font-size:24px;font-weight:800;color:var(--dark);letter-spacing:-.5px}.page-subtitle{font-size:14px;color:var(--gray);margin-top:2px}.section-title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray);padding:12px 16px 8px}.list-gap{display:flex;flex-direction:column;gap:12px;padding:0 16px}.empty{text-align:center;padding:40px 24px;color:var(--gray)}.empty-icon{font-size:48px;margin-bottom:12px}.empty-text{font-size:15px}.spinner{width:32px;height:32px;border:3px solid var(--gray-light);border-top-color:var(--gold);border-radius:50%;animation:spin .6s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:100;display:flex;align-items:flex-end;justify-content:center}.modal-content{background:var(--white);border-radius:20px 20px 0 0;width:100%;max-width:500px;max-height:85vh;overflow-y:auto;padding:24px 16px calc(16px + var(--safe-bottom));animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-title{font-size:20px;font-weight:700;margin-bottom:20px;text-align:center}.progress-bar{height:6px;background:var(--gray-light);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--gold);border-radius:3px;transition:width .3s ease}.tab-bar{position:fixed;bottom:0;left:0;right:0;background:var(--white);border-top:1px solid var(--gray-light);display:flex;justify-content:space-around;padding:8px 0 calc(8px + var(--safe-bottom));z-index:50}.tab-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 12px;color:var(--gray);font-size:10px;font-weight:600;background:none;border:none;transition:color .15s}.tab-item.active{color:var(--gold)}.tab-icon{font-size:22px}.fab{position:fixed;bottom:calc(80px + var(--safe-bottom));right:20px;width:60px;height:60px;border-radius:50%;background:var(--gold);color:#fff;font-size:28px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #cf8c0066;border:none;cursor:pointer;z-index:40;transition:transform .15s ease,box-shadow .15s ease}.fab:active{transform:scale(.92);box-shadow:0 2px 8px #cf8c004d}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--gray-light) 25%,#f0ece5 50%,var(--gray-light) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.btn:disabled{opacity:.5;cursor:not-allowed}.app-shell,.page-transition{animation:pageIn .2s ease-out}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.painter-dashboard{display:flex;flex-direction:column;min-height:calc(100dvh - 72px - var(--safe-bottom));padding-bottom:24px}.painter-header{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 8px}.painter-greeting{font-size:22px;font-weight:800;color:var(--dark)}.btn-icon-round{width:44px;height:44px;border-radius:50%;background:var(--white);border:1.5px solid var(--gray-light);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.btn-icon-round:active{transform:scale(.92);background:var(--beige)}.painter-giant-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:80px;border-radius:20px;font-weight:800;font-size:22px;font-family:var(--font);border:none;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease;letter-spacing:.5px}.painter-giant-btn:active{transform:scale(.97)}.painter-giant-btn:disabled{opacity:.5;cursor:not-allowed}.painter-giant-btn-start{background:#34c759;color:#fff;box-shadow:0 6px 24px #34c75959}.painter-giant-btn-start:active{box-shadow:0 2px 12px #34c75940}.painter-giant-btn-stop{background:#ff3b30;color:#fff;box-shadow:0 6px 24px #ff3b3059}.painter-giant-btn-stop:active{box-shadow:0 2px 12px #ff3b3040}.painter-giant-btn-gold{background:var(--gold);color:#fff;box-shadow:0 6px 24px #cf8c0059}.painter-giant-btn-gold:active{box-shadow:0 2px 12px #cf8c0040}.painter-giant-btn-icon{font-size:28px}.painter-giant-btn-text{font-size:inherit}.painter-hero-section{flex:1;display:flex;flex-direction:column;justify-content:center;padding:16px;gap:20px}.painter-job-selector{margin-bottom:8px}.painter-section-label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray);margin-bottom:8px}.painter-job-cards{display:flex;flex-direction:column;gap:8px}.painter-job-select-card{background:var(--white);border:2px solid var(--gray-light);border-radius:14px;padding:14px 16px;text-align:left;cursor:pointer;transition:all .15s;font-family:var(--font)}.painter-job-select-card.selected{border-color:var(--gold);background:var(--gold-bg);box-shadow:0 0 0 1px var(--gold)}.painter-job-select-card:active{transform:scale(.98)}.painter-job-select-name{font-weight:700;font-size:16px;color:var(--dark)}.painter-job-select-addr{font-size:13px;color:var(--gray);margin-top:2px}.painter-hint{text-align:center;font-size:14px;color:var(--gray);padding:8px}.painter-timer-section{text-align:center;padding:24px 16px 16px}.painter-timer-job{font-size:16px;font-weight:700;color:var(--dark);margin-bottom:8px}.painter-timer-elapsed{font-size:48px;font-weight:800;color:var(--gold);font-variant-numeric:tabular-nums;letter-spacing:-1px;font-family:Montserrat,monospace}.painter-timer-address{font-size:14px;color:var(--gray);margin-top:8px}.painter-actions-row{display:flex;gap:12px;padding:16px}.painter-action-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:88px;background:var(--white);border:2px solid var(--gray-light);border-radius:16px;cursor:pointer;transition:all .15s;font-family:var(--font)}.painter-action-btn:active{transform:scale(.94);border-color:var(--gold);background:var(--gold-bg)}.painter-action-icon{font-size:32px}.painter-action-label{font-size:13px;font-weight:700;color:var(--dark);text-transform:uppercase;letter-spacing:.5px}.painter-phase-row{display:flex;gap:8px;padding:0 16px}.painter-phase-btn{flex:1;padding:8px;border-radius:10px;font-size:12px;font-weight:600;text-transform:capitalize;background:var(--white);color:var(--gray);border:1.5px solid var(--gray-light);cursor:pointer;transition:all .15s;font-family:var(--font)}.painter-phase-btn.active{background:var(--gold-bg);color:var(--gold-dark);border-color:var(--gold)}.painter-eod-summary{padding:16px}.painter-eod-card{background:var(--white);border-radius:16px;padding:20px;display:flex;justify-content:space-around;align-items:center;box-shadow:var(--shadow)}.painter-eod-stat{text-align:center}.painter-eod-number{font-size:32px;font-weight:800;color:var(--gold)}.painter-eod-label{font-size:12px;font-weight:600;color:var(--gray);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.painter-eod-divider{width:1px;height:40px;background:var(--gray-light)}.painter-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--white);border:1.5px solid var(--gray-light);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);z-index:10;box-shadow:var(--shadow-lg)}.painter-suggestion-item{display:block;width:100%;padding:12px 16px;text-align:left;font-size:16px;font-family:var(--font);background:none;border:none;border-bottom:1px solid var(--gray-light);cursor:pointer;color:var(--dark)}.painter-suggestion-item:last-child{border-bottom:none}.painter-suggestion-item:active{background:var(--gold-bg)}.painter-job-card-touch{transition:transform .1s ease}.painter-job-card-touch:active{transform:scale(.98)}.painter-room-toggle{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--gray-light);cursor:pointer;width:100%;text-align:left;background:none;border-left:none;border-right:none;border-top:none;font-family:var(--font);transition:transform .1s}.painter-room-toggle:last-child{border-bottom:none}.painter-room-toggle:active{transform:scale(.98);background:var(--beige)}.painter-room-indicator{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px;font-weight:700;transition:all .15s}.painter-room-indicator.pending{border:2.5px solid var(--gray-light);background:transparent}.painter-room-indicator.in_progress{border:none;background:var(--gold-bg);color:var(--gold)}.painter-room-indicator.done{border:none;background:#34c759;color:#fff}.painter-map-link{display:flex;align-items:center;gap:12px;margin:0 16px 12px;padding:14px 16px;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);text-decoration:none;transition:transform .1s}.painter-map-link:active{transform:scale(.98)}
