*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #f97316;--primary-light: #fff7ed;--primary-dark: #ea580c;--text-primary: #1f2937;--text-secondary:#6b7280;--text-muted: #9ca3af;--border: #e5e7eb;--bg: #f9fafb;--card: #ffffff;--success: #22c55e;--success-light: #dcfce7;--warning: #f59e0b;--warning-light: #fef3c7;--error: #dc2626;--error-light: #fee2e2;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 16px rgba(0,0,0,.1)}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text-primary);line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased;overscroll-behavior:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit}img{max-width:100%;display:block}button,a,[role=button]{-webkit-tap-highlight-color:transparent}.app-splash{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--primary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;z-index:9999}.splash-logo .material-symbols-outlined{font-size:64px;color:#fff}.splash-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.loading-spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast-container{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:9000;pointer-events:none;width:90%;max-width:360px}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius-sm);background:var(--text-primary);color:#fff;font-size:14px;font-weight:500;box-shadow:var(--shadow-md);opacity:0;transform:translateY(12px);transition:all .3s ease;pointer-events:all}.toast.show{opacity:1;transform:translateY(0)}.toast-icon{font-size:18px;flex-shrink:0}.toast-success{background:#166534}.toast-error{background:#991b1b}.toast-warning{background:#92400e}.toast-info{background:#1e40af}.login-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 20px;background:linear-gradient(160deg,#fff7ed 0%,var(--bg) 60%)}.login-brand{text-align:center;margin-bottom:32px}.login-brand-icon{width:72px;height:72px;border-radius:20px;background:var(--primary);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;box-shadow:0 8px 24px #f9731659}.login-brand-icon .material-symbols-outlined{font-size:38px;color:#fff}.login-brand-name{font-size:24px;font-weight:700;color:var(--text-primary)}.login-brand-sub{font-size:13px;color:var(--text-muted);margin-top:2px}.login-card{width:100%;max-width:380px;background:var(--card);border-radius:var(--radius);padding:28px 24px;box-shadow:var(--shadow-md)}.login-title{font-size:18px;font-weight:700;margin-bottom:20px}.login-field{margin-bottom:16px}.login-label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}.login-input-wrap{display:flex;align-items:center;gap:10px;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;background:var(--card);transition:border-color .2s}.login-input-wrap:focus-within{border-color:var(--primary)}.login-input-wrap .material-symbols-outlined{font-size:18px;color:var(--text-muted);flex-shrink:0}.login-input{flex:1;border:none;outline:none;font-size:15px;color:var(--text-primary);background:transparent}.login-toggle-pw{color:var(--text-muted);display:flex;align-items:center;transition:color .2s}.login-toggle-pw:hover{color:var(--text-primary)}.login-toggle-pw .material-symbols-outlined{font-size:18px}.login-btn{width:100%;padding:13px;background:var(--primary);color:#fff;border-radius:var(--radius-sm);font-size:15px;font-weight:700;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s,transform .1s}.login-btn:active{transform:scale(.98)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.login-error{margin-top:12px;font-size:13px;color:var(--error);text-align:center}.home-screen{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.home-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--card);border-bottom:1px solid var(--border);gap:12px}.home-header-left{display:flex;align-items:center;gap:10px}.home-logo{width:36px;height:36px;background:var(--primary);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.home-logo .material-symbols-outlined{font-size:20px;color:#fff}.home-greeting{font-size:14px;font-weight:700;color:var(--text-primary)}.home-date{font-size:11px;color:var(--text-muted);text-transform:capitalize}.home-header-right{display:flex;align-items:center;gap:8px}.home-store-btn{display:flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);font-size:12px;font-weight:600;color:var(--text-secondary);max-width:140px;transition:all .2s}.home-store-btn .material-symbols-outlined{font-size:15px;flex-shrink:0}.home-store-chevron{color:var(--text-muted)}.home-store-btn span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-user-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--text-secondary);transition:background .2s}.home-user-btn:hover{background:var(--bg)}.home-user-btn .material-symbols-outlined{font-size:28px}.store-dropdown,.user-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:200;min-width:200px;animation:fadeDown .2s ease}@keyframes fadeDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.store-dropdown-inner{padding:6px}.store-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--text-primary);transition:background .15s;text-align:left}.store-dropdown-item .material-symbols-outlined{font-size:16px;color:var(--text-muted)}.store-dropdown-item:hover{background:var(--bg)}.store-dropdown-item.active{color:var(--primary);background:var(--primary-light)}.user-menu-info{padding:12px 14px 10px;border-bottom:1px solid var(--border)}.user-menu-name{font-size:13px;font-weight:700}.user-menu-email{font-size:11px;color:var(--text-muted);margin-top:1px}.user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;font-size:13px;font-weight:500;color:var(--error);transition:background .15s}.user-menu-item:hover{background:var(--error-light)}.user-menu-item .material-symbols-outlined{font-size:17px}.home-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:12px 16px}.summary-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 8px;text-align:center}.summary-card.accent{border-color:var(--primary);background:var(--primary-light)}.summary-card.success{border-color:var(--success);background:var(--success-light)}.summary-num{display:block;font-size:22px;font-weight:800;color:var(--text-primary)}.summary-label{display:block;font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;margin-top:2px}.summary-card.accent .summary-num{color:var(--primary)}.summary-card.success .summary-num{color:#166534}.home-content{flex:1;padding:0 16px 80px}.home-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 20px;color:var(--text-muted);font-size:13px}.home-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:60px 20px;text-align:center;color:var(--text-muted)}.home-empty .material-symbols-outlined{font-size:48px;margin-bottom:4px}.home-empty p{font-size:16px;font-weight:700;color:var(--text-secondary)}.home-empty span{font-size:13px}.checklist-section{margin-bottom:20px}.section-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:4px 0 10px}.section-title .material-symbols-outlined{font-size:15px}.checklist-card{background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:10px;cursor:pointer;transition:transform .15s,box-shadow .15s;active-transform:scale(.98)}.checklist-card:active{transform:scale(.98);box-shadow:none}.checklist-card.status-progress{border-color:var(--primary)}.checklist-card.status-done{border-color:var(--success);opacity:.8}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}.card-title-wrap{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.card-shift-icon{font-size:16px;color:var(--primary);flex-shrink:0}.card-title{font-size:15px;font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-badges{display:flex;gap:5px;flex-shrink:0}.badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.badge-late{background:var(--error-light);color:var(--error)}.badge-status{background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.badge-status.status-pending{background:var(--bg);color:var(--text-muted)}.badge-status.status-progress{background:var(--primary-light);color:var(--primary);border-color:var(--primary)}.badge-status.status-done{background:var(--success-light);color:#166534;border-color:var(--success)}.card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.card-meta-item{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:2px 7px}.card-meta-item .material-symbols-outlined{font-size:12px}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-progress-wrap{flex:1}.card-progress-bar{height:5px;background:var(--bg);border-radius:3px;overflow:hidden;margin-bottom:4px}.card-progress-fill{height:100%;background:var(--primary);border-radius:3px;transition:width .4s ease}.card-progress-label{font-size:10px;color:var(--text-muted);font-weight:500}.section-done .checklist-card{background:var(--bg)}.section-done .section-title{color:var(--text-muted)}.exec-screen{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.exec-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--border);min-height:60px}.exec-back-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-secondary);border:1px solid var(--border);flex-shrink:0;transition:all .2s}.exec-back-btn .material-symbols-outlined{font-size:20px}.exec-header-info{flex:1;min-width:0}.exec-title{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exec-meta{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted);margin-top:2px;text-transform:capitalize}.exec-meta .material-symbols-outlined{font-size:13px}.exec-progress-txt{font-size:14px;font-weight:700;color:var(--primary);flex-shrink:0}.exec-progress-bar-wrap{background:var(--card);position:sticky;top:60px;z-index:100}.exec-progress-bar{height:4px;background:var(--border)}.exec-progress-fill{height:100%;background:var(--primary);transition:width .4s ease}.exec-body{flex:1;padding:16px 16px 100px}.exec-footer{position:fixed;bottom:0;left:0;right:0;display:flex;gap:10px;padding:12px 16px;background:var(--card);border-top:1px solid var(--border);z-index:100}.exec-btn{flex:1;padding:13px;border-radius:var(--radius-sm);font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .15s}.exec-btn:active{transform:scale(.97)}.exec-btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:not(:disabled):hover{background:var(--primary-dark)}.btn-secondary{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.full-width{flex:unset;width:100%}.exec-btn .material-symbols-outlined{font-size:18px}.exec-task-card{display:none;background:var(--card);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);animation:fadeIn .2s ease}.exec-task-card.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.task-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.task-num{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase}.task-required-badge{font-size:10px;font-weight:700;background:var(--error-light);color:var(--error);padding:2px 7px;border-radius:4px;text-transform:uppercase}.task-title{font-size:17px;font-weight:700;color:var(--text-primary);line-height:1.4;margin-bottom:20px}.task-done-stamp{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#166534;margin-top:14px;padding:8px 12px;background:var(--success-light);border-radius:var(--radius-sm)}.task-done-stamp .material-symbols-outlined{font-size:16px}.exec-free-list{display:flex;flex-direction:column;gap:10px}.exec-free-item{background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);padding:14px;transition:border-color .2s}.exec-free-item.done{border-color:var(--success)}.free-item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:12px}.free-item-title{font-size:14px;font-weight:600;line-height:1.4;flex:1}.task-input-area{margin-top:4px}.free-item-input{padding-left:0}.task-input{width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:15px;color:var(--text-primary);background:var(--bg);transition:border-color .2s;-webkit-appearance:none}.task-input:focus{outline:none;border-color:var(--primary)}.task-textarea{width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;color:var(--text-primary);background:var(--bg);resize:vertical;transition:border-color .2s}.task-textarea:focus{outline:none;border-color:var(--primary)}.task-check-btn{display:flex;align-items:center;gap:10px;width:100%;padding:14px 16px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:15px;font-weight:600;color:var(--text-secondary);background:var(--bg);transition:all .2s}.task-check-btn.done{border-color:var(--success);background:var(--success-light);color:#166534}.task-check-btn .material-symbols-outlined{font-size:22px}.task-yn-options{display:flex;gap:8px}.task-yn-btn{flex:1;padding:13px 8px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-weight:700;color:var(--text-secondary);background:var(--bg);transition:all .2s ease;transform:scale(1)}.task-yn-btn:hover:not(.selected){border-color:var(--primary);color:var(--primary);background:var(--primary-light);transform:scale(1.03)}.task-yn-btn:active{transform:scale(.97)}.task-yn-btn.selected{border-color:var(--primary);background:var(--primary-light);color:var(--primary);transform:scale(1.03)}.task-number-wrap,.task-temp-wrap{display:flex;align-items:center;gap:8px}.task-number-wrap .task-input,.task-temp-wrap .task-input{flex:1}.task-unit{font-size:14px;font-weight:600;color:var(--text-muted);white-space:nowrap}.task-temp-hint{font-size:12px;color:var(--text-muted);margin-top:8px}.task-stars{display:flex;gap:6px}.task-star-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--bg);transition:all .2s ease;transform:scale(1)}.task-star-btn:hover:not(.active){background:var(--warning-light);border-color:var(--warning);transform:scale(1.1)}.task-star-btn:hover:not(.active) .material-symbols-outlined{color:var(--warning)}.task-star-btn:active{transform:scale(.92)}.task-star-btn.active{background:var(--warning-light);border-color:var(--warning);transform:scale(1.05)}.task-star-btn.active .material-symbols-outlined{color:var(--warning);font-variation-settings:"FILL" 1}.task-star-btn .material-symbols-outlined{font-size:22px;color:var(--text-muted);transition:color .2s}.task-emoji-options{display:flex;gap:8px}.task-emoji-btn{flex:1;padding:12px;font-size:24px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);transition:all .2s ease;transform:scale(1)}.task-emoji-btn:hover:not(.selected){transform:scale(1.12);border-color:var(--primary)}.task-emoji-btn:active{transform:scale(.92)}.task-emoji-btn.selected{border-color:var(--primary);background:var(--primary-light);transform:scale(1.1)}.task-select-options{display:flex;flex-direction:column;gap:8px}.task-select-btn{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:var(--text-primary);background:var(--bg);text-align:left;transition:all .2s ease}.task-select-btn:hover:not(.selected){border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.task-select-btn.selected{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.task-select-btn .material-symbols-outlined{font-size:18px;flex-shrink:0}.task-photo-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.photo-thumb{position:relative;width:80px;height:80px;border-radius:var(--radius-sm);overflow:hidden}.photo-thumb img{width:100%;height:100%;object-fit:cover}.photo-remove{position:absolute;top:3px;right:3px;width:20px;height:20px;background:#0009;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.photo-remove .material-symbols-outlined{font-size:12px}.photo-camera-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border:1.5px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg);font-size:14px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;margin-bottom:8px}.photo-camera-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.photo-camera-btn .material-symbols-outlined{font-size:22px}.task-photo-hint{font-size:12px;color:var(--text-muted)}.camera-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:9000;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease}.camera-modal-inner{width:100%;max-width:480px;background:#000;border-radius:var(--radius) var(--radius) 0 0;overflow:hidden;display:flex;flex-direction:column}.camera-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#ffffff14}.camera-modal-title{font-size:15px;font-weight:700;color:#fff}.camera-modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:#ffffff26;transition:background .2s}.camera-modal-close:hover{background:#ffffff40}.camera-modal-close .material-symbols-outlined{font-size:18px}.camera-preview-wrap{position:relative;width:100%;aspect-ratio:4/3;background:#111;overflow:hidden}.camera-video{width:100%;height:100%;object-fit:cover;display:block}.camera-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:20px 32px 28px;background:#ffffff0d}.camera-capture-btn{width:68px;height:68px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;transition:transform .15s,background .15s;box-shadow:0 0 0 4px #ffffff4d}.camera-capture-btn:active{transform:scale(.9);background:#e5e7eb}.camera-capture-btn .material-symbols-outlined{font-size:32px;color:#1f2937}.camera-preview-img{width:100%;height:100%;object-fit:cover}.camera-retake-btn,.camera-confirm-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;border-radius:999px;font-size:14px;font-weight:700;transition:all .2s}.camera-retake-btn{background:#ffffff26;color:#fff;border:1.5px solid rgba(255,255,255,.3)}.camera-retake-btn:hover{background:#ffffff40}.camera-confirm-btn{background:var(--primary);color:#fff;flex:1;justify-content:center}.camera-confirm-btn:hover{opacity:.9}.camera-confirm-btn .material-symbols-outlined,.camera-retake-btn .material-symbols-outlined{font-size:18px}.camera-switch-btn{width:44px;height:44px;border-radius:50%;background:#ffffff26;display:flex;align-items:center;justify-content:center;color:#fff;transition:background .2s}.camera-switch-btn:hover{background:#ffffff40}.camera-switch-btn .material-symbols-outlined{font-size:22px}.camera-file-btn{width:44px;height:44px;border-radius:50%;background:#fff3;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.camera-file-btn:hover{background:#ffffff59}.camera-file-btn .material-symbols-outlined{font-size:22px}.task-counter{display:flex;align-items:center;justify-content:center;gap:16px}.counter-btn{width:48px;height:48px;border:1.5px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--text-primary);transition:all .2s ease;flex-shrink:0}.counter-btn:hover{border-color:var(--primary);background:var(--primary-light);color:var(--primary);transform:scale(1.1)}.counter-btn:active{transform:scale(.92);background:var(--primary-light);border-color:var(--primary)}.counter-btn .material-symbols-outlined{font-size:22px}.counter-display{text-align:center;min-width:80px}.counter-value-input{width:80px;font-size:36px;font-weight:800;color:var(--text-primary);text-align:center;border:none;border-bottom:2px dashed var(--border);background:transparent;outline:none;cursor:text;border-radius:0;padding-bottom:2px;transition:border-color .2s;-moz-appearance:textfield}.counter-value-input:focus{border-bottom-color:var(--primary);color:var(--primary)}.counter-value-input::-webkit-outer-spin-button,.counter-value-input::-webkit-inner-spin-button{-webkit-appearance:none}.counter-unit{display:block;font-size:12px;color:var(--text-muted);margin-top:2px}.signature-canvas{border:1.5px solid var(--border);border-radius:var(--radius-sm);display:block;width:100%;touch-action:none;background:#fff;cursor:crosshair}.signature-clear-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:8px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-weight:600;color:var(--text-secondary);background:var(--bg);transition:all .2s ease}.signature-clear-btn:hover{border-color:var(--error);color:var(--error);background:var(--error-light)}.signature-clear-btn .material-symbols-outlined{font-size:16px}.signature-preview{border:1px solid var(--border);border-radius:var(--radius-sm);max-width:100%}.task-barcode-area{display:flex;flex-direction:column;gap:10px}.barcode-scan-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;background:var(--primary);color:#fff;border-radius:var(--radius-sm);font-size:15px;font-weight:700;transition:background .15s}.barcode-result{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:600}.barcode-result.success{background:var(--success-light);color:#166534}.barcode-result .material-symbols-outlined{font-size:18px}.barcode-rescan-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;color:var(--text-secondary);background:var(--bg)}.barcode-manual{border:1px dashed var(--border);background:var(--bg)}.exec-loading,.exec-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:12px;color:var(--text-muted);font-size:14px}.exec-error .material-symbols-outlined{font-size:48px;color:var(--error)}.exec-error button{margin-top:8px;padding:10px 20px;background:var(--primary);color:#fff;border-radius:var(--radius-sm);font-weight:700}.exec-empty{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:14px}.task-unknown{padding:12px;background:var(--warning-light);border-radius:var(--radius-sm);font-size:13px;color:#92400e}.exec-completed-banner{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;background:var(--success-light);color:#166534;border-radius:var(--radius-sm);font-size:15px;font-weight:700}.exec-completed-banner .material-symbols-outlined{font-size:20px}.task-conclude-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;padding:9px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);font-size:13px;font-weight:600;color:var(--text-muted);transition:all .2s}.task-conclude-btn .material-symbols-outlined{font-size:17px}.task-conclude-btn:not(.done):hover{border-color:var(--success);color:#166534;background:var(--success-light)}.task-conclude-btn.done{border-color:var(--success);background:var(--success-light);color:#166534}@media (min-width: 640px){.home-screen,.exec-screen{max-width:480px;margin:0 auto}body{background:#f0f0f0}.home-header{border-radius:0}.store-dropdown,.user-menu{width:220px}.exec-footer{max-width:480px;left:50%;transform:translate(-50%);border-radius:var(--radius) var(--radius) 0 0}}.exec-free-separator{display:flex;align-items:center;gap:10px;padding:4px 0;pointer-events:none;-webkit-user-select:none;user-select:none}.exec-free-sep-line{flex:1;height:1px;background:var(--border, #e5e7eb)}.exec-free-sep-label{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--text-muted, #9ca3af);white-space:nowrap;text-transform:uppercase;letter-spacing:.4px}.exec-free-sep-label .material-symbols-outlined{font-size:14px}.exec-separator-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px 24px;background:var(--bg, #f9fafb);border:1.5px dashed var(--border, #e5e7eb);border-radius:var(--radius, 12px);gap:10px}.exec-gate-icon{font-size:40px;color:var(--text-muted, #9ca3af)}.exec-gate-title{font-size:16px;font-weight:700;color:var(--text-primary, #1f2937)}.exec-gate-desc{font-size:13px;color:var(--text-secondary, #6b7280);max-width:260px;line-height:1.5}.exec-free-item.locked{opacity:.55;pointer-events:none;position:relative}.exec-locked-overlay{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;margin-top:8px;background:var(--bg, #f9fafb);border:1px dashed var(--border, #e5e7eb);border-radius:var(--radius-sm, 8px);font-size:12px;color:var(--text-muted, #9ca3af);font-weight:500;pointer-events:none}.exec-locked-overlay .material-symbols-outlined{font-size:15px}.task-locked-msg{display:flex;align-items:center;gap:6px;padding:10px 14px;margin-top:10px;background:var(--bg, #f9fafb);border-radius:var(--radius-sm, 8px);font-size:13px;color:var(--text-muted, #9ca3af);font-weight:500}.task-locked-msg .material-symbols-outlined{font-size:16px}.exec-task-card.locked .task-input-area,.exec-task-card.locked .task-title{opacity:.5}.task-description{padding:10px 12px;background:var(--bg, #f9fafb);border-radius:var(--radius-sm, 8px);margin-bottom:12px;margin-top:6px}.task-description-text{font-size:13px;color:var(--text-secondary, #6b7280);line-height:1.55}.task-description-text b,.task-description-text strong{font-weight:700;color:var(--text-primary, #1f2937)}.task-description-text i,.task-description-text em{font-style:italic}.task-description-text u{text-decoration:underline}.task-proof-section{margin-top:12px;padding:12px;background:var(--bg, #f9fafb);border:1px solid var(--border, #e5e7eb);border-radius:var(--radius-sm, 8px)}.task-proof-header{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-secondary, #6b7280);margin-bottom:10px}.task-proof-header .material-symbols-outlined{font-size:16px;color:var(--primary, #f97316)}.proof-req{color:var(--error, #dc2626);font-weight:700}.proof-ok{color:var(--success, #22c55e);font-weight:700}.task-proof-grid{display:flex;flex-wrap:wrap;gap:8px}.proof-thumb{width:72px;height:72px;border-radius:var(--radius-sm, 8px);overflow:hidden;border:1px solid var(--border, #e5e7eb);flex-shrink:0}.proof-thumb img{width:100%;height:100%;object-fit:cover}.proof-add-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;width:72px;height:72px;border-radius:var(--radius-sm, 8px);border:1.5px dashed var(--border, #e5e7eb);background:var(--card, #fff);color:var(--text-muted, #9ca3af);cursor:pointer;transition:all .2s ease;flex-shrink:0}.proof-add-btn:hover,.proof-add-btn:active{border-color:var(--primary, #f97316);color:var(--primary, #f97316);background:var(--primary-light, #fff7ed)}.proof-add-btn .material-symbols-outlined{font-size:22px}.task-proof-hint{font-size:11px;color:var(--error, #dc2626);margin-top:8px;font-weight:500}.task-photo-badge{display:inline-flex;align-items:center;gap:3px;background:#fff7ed;color:var(--primary, #f97316);border:1px solid #fed7aa;padding:1px 7px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase}.task-photo-badge .material-symbols-outlined{font-size:11px}.free-item-badges{display:flex;flex-wrap:wrap;gap:4px}
