:root{--color-brand-dark:#1b1d1a;--color-brand-purple:#9669f6;--color-brand-purple-active:#7c3aed;--color-brand-purple-soft:#f3e8ff;--color-brand-lime:#aadf00;--color-brand-lime-soft:#ecfccb;--color-brand-lime-border:#bbf7d0;--color-brand-lime-text:#1a2e05;--color-brand-olive-text:#4d7c0f;--color-alert-urgent:#ef4444;--color-alert-urgent-bg:#fef2f2;--color-alert-warning:#d97706;--color-alert-warning-bg:#fef3c7;--color-bg-app:#fafafa;--color-surface-card:#fff;--color-surface-subtle:#f3f4f6;--color-border-card:#e5e7eb;--color-border-control:#d1d5db;--color-text-primary:#111827;--color-text-secondary:#6b7280;--color-text-muted:#9ca3af;--radius-card:12px;--radius-control:10px;--radius-btn:8px;--radius-pill:9999px;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-size-display:28px;--font-size-title-lg:18px;--font-size-title-md:15px;--font-size-body:14px;--font-size-sm:12px;--font-size-xs:10.5px;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #0000000f, 0 2px 4px -2px #0000000a;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--ease-curtain:cubic-bezier(.16, 1, .3, 1);--duration-curtain:.55s}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{width:100%;height:100%;font-family:var(--font-family);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0f100e;overflow:hidden}#app-root{background-color:var(--color-bg-app);width:100%;max-width:430px;height:100dvh;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 0 50px #0006}.splash-curtain{z-index:100;background-color:var(--color-brand-purple);padding:calc(env(safe-area-inset-top,24px) + 32px) 24px calc(env(safe-area-inset-bottom,24px) + 32px);cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform var(--duration-curtain) var(--ease-curtain), opacity calc(var(--duration-curtain) * .8) ease;will-change:transform;flex-direction:column;justify-content:space-between;align-items:center;display:flex;position:absolute;inset:0}.splash-curtain.lifted{pointer-events:none;transform:translateY(-100%)}.splash-header-space{width:100%;height:40px}.splash-logo-center{flex-direction:column;justify-content:center;align-items:center;gap:16px;animation:2.5s ease-in-out infinite splashPulse;display:flex}.splash-logo-svg{filter:drop-shadow(0 8px 16px #00000026);width:88px;height:88px}.splash-brand-title{letter-spacing:.12em;color:#1f1f1f;text-transform:uppercase;font-size:24px;font-weight:800}.splash-footer{flex-direction:column;align-items:center;gap:12px;display:flex}.splash-hint{color:#1f1f1fd9;-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-pill);background:#ffffff59;align-items:center;gap:8px;padding:8px 18px;font-size:13px;font-weight:600;display:flex;box-shadow:0 2px 8px #0000000d}.splash-hint-arrow{animation:1.2s ease-in-out infinite alternate bounceUp;display:inline-block}.splash-version-tag{letter-spacing:.05em;color:#1f1f1f99;font-size:11px;font-weight:700}@keyframes splashPulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes bounceUp{0%{transform:translateY(0)}to{transform:translateY(-4px)}}.numpad-screen{z-index:50;background-color:var(--color-bg-app);padding:calc(env(safe-area-inset-top,24px) + 20px) 24px calc(env(safe-area-inset-bottom,24px) + 24px);transition:opacity .35s ease, transform .4s var(--ease-curtain);flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.numpad-screen.unlocked{opacity:0;pointer-events:none;transform:scale(.96)}.numpad-top-bar{justify-content:space-between;align-items:center;height:40px;display:flex}.numpad-badge{text-transform:uppercase;letter-spacing:.06em;color:var(--color-brand-olive-text);background-color:var(--color-brand-lime-soft);border-radius:var(--radius-pill);padding:4px 10px;font-size:11px;font-weight:700}.numpad-header{text-align:center;margin-top:10px;margin-bottom:24px}.numpad-subtitle{color:var(--color-text-secondary);margin-top:4px;font-size:13px}.pin-dots-container{justify-content:center;align-items:center;gap:16px;margin:12px 0 28px;display:flex}.pin-dot{border:1.5px solid var(--color-border-control);background-color:#0000;border-radius:50%;width:14px;height:14px;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.pin-dot.filled{border-color:var(--color-brand-dark);background-color:var(--color-brand-dark);transform:scale(1.15)}.pin-dot.error{border-color:var(--color-alert-urgent);background-color:var(--color-alert-urgent)}.pin-dots-container.shake{animation:.45s ease-in-out pinShake}@keyframes pinShake{0%,to{transform:translate(0)}20%,60%{transform:translate(-10px)}40%,80%{transform:translate(10px)}}.numpad-grid{grid-template-columns:repeat(3,1fr);gap:16px;width:100%;max-width:320px;margin:0 auto;display:grid}.numpad-key{aspect-ratio:1;background-color:var(--color-surface-card);width:100%;max-width:76px;max-height:76px;color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:50%;justify-content:center;align-items:center;margin:0 auto;font-size:27px;font-weight:500;transition:transform .1s,background-color .15s,box-shadow .1s;display:flex;box-shadow:0 2px 4px #0000000a,0 1px 2px #00000005}.numpad-key:active{background-color:#eaecef;transform:scale(.92);box-shadow:inset 0 2px 4px #0000000f}.numpad-key.empty{box-shadow:none;pointer-events:none;background:0 0}.numpad-key.action-key{box-shadow:none;color:var(--color-text-secondary);background:0 0;font-size:20px}.numpad-key.action-key:active{background-color:var(--color-surface-subtle);transform:scale(.92)}.numpad-footer{flex-direction:column;align-items:center;gap:10px;margin-top:20px;display:flex}.numpad-link-btn{color:var(--color-brand-purple-active);cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:13px;font-weight:600}.numpad-quick-hint{color:var(--color-text-muted);font-size:11px}.dashboard-screen{z-index:10;background-color:var(--color-bg-app);-webkit-overflow-scrolling:touch;padding:calc(env(safe-area-inset-top,24px) + 12px) 16px calc(env(safe-area-inset-bottom,24px) + 32px);flex-direction:column;gap:16px;display:flex;position:absolute;inset:0;overflow:hidden auto}.dashboard-topbar{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.date-status-pill{background-color:var(--color-brand-lime-soft);border-radius:var(--radius-pill);align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.status-dot-pulse{background-color:var(--color-brand-lime);border-radius:50%;width:10px;height:10px;position:relative}.status-dot-pulse:after{content:"";background-color:var(--color-brand-lime);opacity:.4;border-radius:50%;animation:2s ease-out infinite pulseDot;position:absolute;inset:-3px}@keyframes pulseDot{0%{opacity:.8;transform:scale(.9)}to{opacity:0;transform:scale(2.2)}}.date-status-texts{flex-direction:column;display:flex}.date-text-primary{color:var(--color-brand-lime-text);font-size:12.5px;font-weight:700;line-height:1.2}.time-status-sub{color:var(--color-brand-olive-text);font-size:10.5px;font-weight:600;line-height:1.1}.topbar-actions{align-items:center;gap:6px;display:flex}.topbar-icon-btn{background-color:var(--color-surface-subtle);width:32px;height:32px;color:var(--color-text-primary);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background-color .15s,transform .1s;display:flex;position:relative}.topbar-icon-btn:active{background-color:#e5e7eb;transform:scale(.95)}.notification-badge-dot{background-color:var(--color-alert-urgent);border:1.5px solid var(--color-surface-subtle);border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:6px}.field-selector-card{background-color:var(--color-surface-card);border:1px solid var(--color-border-control);border-radius:var(--radius-control);width:100%;box-shadow:var(--shadow-sm);cursor:pointer;justify-content:space-between;align-items:center;padding:10px 14px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.field-selector-card:active{border-color:var(--color-brand-purple);transform:scale(.99)}.field-info-left{align-items:center;gap:12px;display:flex}.field-icon-box{background-color:var(--color-brand-lime-soft);width:32px;height:32px;color:var(--color-brand-lime-text);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.field-labels{flex-direction:column;display:flex}.field-caption{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-size:10px;font-weight:700}.field-name{color:var(--color-text-primary);font-size:16px;font-weight:700;line-height:1.2}.field-badge-right{color:var(--color-text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.chevron-down-icon{width:14px;height:14px;color:var(--color-text-muted)}.kpi-row{grid-template-columns:1fr 1.08fr;gap:10px;display:grid}.kpi-card{border-radius:var(--radius-card);min-height:102px;box-shadow:var(--shadow-sm);flex-direction:column;justify-content:space-between;padding:14px;display:flex}.kpi-card.summary-neutral{background-color:var(--color-surface-card);border:1px solid var(--color-border-card)}.kpi-card.summary-weather{background-color:var(--color-brand-lime-soft);border:1px solid var(--color-brand-lime-border)}.kpi-header-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);font-size:9.5px;font-weight:800}.kpi-card.summary-weather .kpi-header-tag{color:var(--color-brand-olive-text)}.kpi-main-stat{color:var(--color-text-primary);margin-top:4px;font-size:15px;font-weight:700;line-height:1.25}.kpi-card.summary-weather .kpi-main-stat{color:var(--color-brand-lime-text);align-items:baseline;gap:6px;font-size:26px;font-weight:800;display:flex}.kpi-sub-stat{color:var(--color-text-secondary);align-items:center;gap:5px;margin-top:4px;font-size:11.5px;font-weight:600;display:flex}.kpi-card.summary-weather .kpi-sub-stat{color:var(--color-brand-lime-text)}.section-header-row{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.section-title{color:var(--color-text-primary);font-size:16px;font-weight:700}.section-link-action{color:var(--color-brand-purple-active);cursor:pointer;background:0 0;border:none;align-items:center;gap:3px;font-size:12.5px;font-weight:700;text-decoration:none;display:inline-flex}.section-link-action:hover{text-decoration:underline}.action-cards-stack{flex-direction:column;gap:12px;display:flex}.action-card{background-color:var(--color-surface-card);border:1px solid var(--color-border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:14px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;position:relative}.action-card:hover{border-color:#d1d5db}.action-card-header{justify-content:space-between;align-items:center;display:flex}.action-urgency-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:10.5px;font-weight:800;display:inline-flex}.action-urgency-badge.urgent{background-color:var(--color-alert-urgent-bg);color:var(--color-alert-urgent)}.action-urgency-badge.warning{background-color:var(--color-alert-warning-bg);color:var(--color-alert-warning)}.badge-dot{background-color:currentColor;border-radius:50%;width:6px;height:6px}.action-lot-tag{color:var(--color-text-secondary);font-size:11.5px;font-weight:600}.action-card-title{color:var(--color-text-primary);font-size:15.5px;font-weight:700;line-height:1.3}.action-buttons-group{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.btn-primary-action{background-color:var(--color-brand-lime);color:var(--color-brand-lime-text);border-radius:var(--radius-btn);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 14px;font-size:12.5px;font-weight:700;transition:transform .1s,filter .1s;display:inline-flex}.btn-primary-action:active{filter:brightness(.95);transform:scale(.96)}.btn-primary-action.secondary-style{background-color:var(--color-surface-subtle);color:var(--color-text-primary)}.btn-secondary-detail{color:var(--color-brand-purple-active);cursor:pointer;background:0 0;border:none;align-items:center;gap:3px;padding:4px 6px;font-size:12px;font-weight:700;display:inline-flex}.action-card.completed{opacity:.65;background-color:#f9fafb}.action-card.completed .action-card-title{color:var(--color-text-muted);text-decoration:line-through}.projects-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.project-card{background-color:var(--color-surface-card);border:1px solid var(--color-border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);flex-direction:column;justify-content:space-between;min-height:130px;padding:12px;transition:transform .15s;display:flex}.project-card:active{transform:scale(.99)}.project-card.full-width{grid-column:1/-1;min-height:auto;padding:14px}.project-icon-box{border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:8px;display:flex}.project-icon-box.amber{background-color:var(--color-alert-warning-bg);color:var(--color-alert-warning)}.project-icon-box.lime{background-color:var(--color-brand-lime-soft);color:var(--color-brand-olive-text)}.project-icon-box.purple{background-color:var(--color-brand-purple-soft);color:var(--color-brand-purple-active)}.project-card-title{color:var(--color-text-primary);font-size:14px;font-weight:700;line-height:1.2}.project-card-sub{color:var(--color-text-secondary);margin-top:2px;font-size:11px;font-weight:500;line-height:1.25}.project-progress-container{margin-top:12px}.project-progress-bar-bg{background-color:var(--color-border-card);border-radius:2px;width:100%;height:4px;margin-bottom:6px;overflow:hidden}.project-progress-bar-fill{border-radius:2px;height:100%;transition:width .6s cubic-bezier(.16,1,.3,1)}.project-progress-bar-fill.amber{background-color:var(--color-alert-warning)}.project-progress-bar-fill.lime{background-color:var(--color-brand-lime)}.project-progress-bar-fill.purple{background-color:var(--color-brand-purple-active)}.project-meta-row{color:var(--color-text-secondary);justify-content:space-between;align-items:center;font-size:10.5px;font-weight:700;display:flex}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);opacity:0;pointer-events:none;background-color:#00000080;flex-direction:column;justify-content:flex-end;transition:opacity .25s;display:flex;position:absolute;inset:0}.modal-overlay.open{opacity:1;pointer-events:auto}.modal-sheet{background-color:var(--color-surface-card);padding:20px 20px calc(env(safe-area-inset-bottom,24px) + 20px);box-shadow:var(--shadow-lg);border-top-left-radius:20px;border-top-right-radius:20px;max-height:85vh;transition:transform .3s cubic-bezier(.16,1,.3,1);overflow-y:auto;transform:translateY(100%)}.modal-overlay.open .modal-sheet{transform:translateY(0)}.sheet-handle{background-color:#d1d5db;border-radius:2px;width:40px;height:4px;margin:0 auto 16px}.sheet-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.sheet-title{color:var(--color-text-primary);font-size:18px;font-weight:700}.sheet-subtitle{color:var(--color-text-secondary);margin-top:2px;font-size:13px}.sheet-close-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:20px}.sheet-form-group{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.sheet-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.sheet-input,.sheet-select{border-radius:var(--radius-btn);border:1px solid var(--color-border-control);width:100%;color:var(--color-text-primary);background-color:#fafafa;padding:10px 12px;font-family:inherit;font-size:14px}.sheet-input:focus,.sheet-select:focus{border-color:var(--color-brand-purple);background-color:#fff;outline:none}.sheet-confirm-btn{background-color:var(--color-brand-lime);width:100%;color:var(--color-brand-lime-text);border-radius:var(--radius-btn);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;margin-top:10px;padding:12px;font-size:14px;font-weight:800;display:flex;box-shadow:0 2px 4px #0000000f}.sheet-confirm-btn:active{transform:scale(.98)}.toast-notice{background-color:var(--color-brand-dark);color:#fff;border-radius:var(--radius-pill);z-index:300;box-shadow:var(--shadow-lg);pointer-events:none;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)translateY(-100px)}.toast-notice.show{transform:translate(-50%)translateY(0)}.toast-icon-check{color:var(--color-brand-lime)}.splash-curtain{justify-content:center;padding:0}.splash-logo-svg{filter:none;width:56px;height:56px;animation:2.5s ease-in-out infinite splashPulse}.numpad-screen{padding-top:calc(env(safe-area-inset-top,24px) + 40px);background-color:#1b1d1a;justify-content:space-between}.numpad-body{flex-direction:column;align-items:center;gap:0;display:flex}.numpad-header{flex-direction:column;align-items:center;gap:28px;margin:0 0 8px;display:flex}.numpad-drop{width:36px;height:36px;color:var(--color-brand-purple)}.numpad-title{color:var(--color-brand-purple);letter-spacing:0;font-size:16px;font-weight:700}.pin-dots-container{gap:14px;margin:20px 0 64px}.pin-dot{border:1.5px solid #5a5c59;width:12px;height:12px}.pin-dot.filled{border-color:var(--color-brand-purple);background-color:var(--color-brand-purple)}.numpad-grid{gap:16px;max-width:240px}.numpad-key{max-width:64px;max-height:64px;box-shadow:none;color:var(--color-brand-purple);background-color:#3a3c39;font-size:24px;font-weight:600}.numpad-key:active{box-shadow:none;background-color:#4a4c49}.numpad-key.action-key{color:#8a8c89;background-color:#3a3c39}.numpad-key.action-key:active{background-color:#4a4c49}.numpad-footer{gap:28px;margin-top:0}.numpad-link-btn{color:var(--color-brand-purple)}.numpad-logout-btn{border-radius:var(--radius-pill);width:100%;max-width:240px;height:46px;color:var(--color-brand-purple);cursor:pointer;background:0 0;border:1.5px solid #5a5c59;font-family:inherit;font-size:14px;font-weight:700}.numpad-logout-btn:active{background:#2a2c29}#btn-tool-new{color:var(--color-alert-warning)}.menu-overlay{z-index:90;background:var(--color-brand-purple);color:var(--color-brand-dark);padding:calc(env(safe-area-inset-top,24px) + 16px) 24px calc(env(safe-area-inset-bottom,24px) + 32px);opacity:0;transition:opacity .3s ease, transform .3s var(--ease-curtain);flex-direction:column;display:flex;position:absolute;inset:0;transform:translateY(-12px)}.menu-overlay.open{opacity:1;transform:none}.menu-close-btn{width:44px;height:44px;color:var(--color-brand-dark);cursor:pointer;background:0 0;border:none;justify-content:center;align-self:flex-end;align-items:center;display:flex}.menu-options{letter-spacing:-.02em;flex-direction:column;flex:1;justify-content:center;gap:20px;font-size:34px;font-weight:800;display:flex}.menu-logout-btn{border-radius:var(--radius-pill);border:2px solid var(--color-brand-dark);height:52px;color:var(--color-brand-dark);cursor:pointer;background:0 0;font-family:inherit;font-size:16px;font-weight:700}.menu-logout-btn:active{background:#1b1d1a1a}
