@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";.celebration-modal-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px;background:#0f172aa6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:modalBackdropFade .25s ease-out}@keyframes modalBackdropFade{0%{opacity:0}to{opacity:1}}.celebration-canvas{position:absolute;inset:0;pointer-events:none;z-index:2001}.celebration-modal-card{position:relative;width:100%;max-width:440px;background:var(--bg-surface, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:20px;padding:32px 24px 24px;text-align:center;box-shadow:0 25px 50px -12px #00000040;z-index:2002;animation:modalCardScale .3s cubic-bezier(.16,1,.3,1)}@keyframes modalCardScale{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.celebration-close-btn{position:absolute;top:14px;right:14px;background:transparent;border:none;cursor:pointer;padding:6px;border-radius:50%;color:var(--text-muted, #64748b);display:inline-flex;align-items:center;justify-content:center;transition:background-color .2s}.celebration-close-btn:hover{background:var(--bg-hover, #f1f5f9)}.celebration-icon-wrapper{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#fef3c7,#fee2e2);margin-bottom:16px;box-shadow:0 8px 20px #f59e0b33}.celebration-hero-icon.birthday{color:#e11d48}.celebration-hero-icon.anniversary{color:#d97706}.celebration-hero-icon.reward{color:#16a34a}.celebration-title{margin:0 0 10px;font-size:20px;font-weight:800;color:var(--text-color, #0f172a);line-height:1.35}.celebration-message{margin:0 0 20px;font-size:14px;color:var(--text-muted, #475569);line-height:1.6}.celebration-reward-box{display:flex;align-items:center;gap:12px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:12px 16px;margin-bottom:24px;text-align:left}.reward-icon{color:#16a34a;flex-shrink:0}.reward-info{display:flex;flex-direction:column;gap:2px}.reward-label{font-size:12px;color:#166534;font-weight:500}.reward-val{font-size:16px;color:#15803d;font-weight:800}.celebration-actions{display:flex;justify-content:center}.celebration-confirm-btn{width:100%;padding:12px 24px;border:none;border-radius:12px;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #2563eb59;transition:transform .15s,box-shadow .15s}.celebration-confirm-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #2563eb73}.celebration-confirm-btn:active{transform:translateY(0)}.hub-btn,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-weight:600;border-radius:var(--radius-sm, 10px);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:all var(--duration-fast, .15s) var(--ease, ease);box-sizing:border-box;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.hub-btn:disabled,.button:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.hub-btn-primary,.button:not(.hub-btn-secondary):not(.hub-btn-outline):not(.hub-btn-ghost):not(.hub-btn-danger){background:var(--primary-action, #EF4D8D);color:#fff;box-shadow:0 2px 10px #ef4d8d47}.hub-btn-primary:hover:not(:disabled),.button:hover:not(:disabled){background:var(--primary-action-hover, #DB2777);box-shadow:0 4px 14px #ef4d8d5c}.hub-btn-secondary{background:#f1f5f9;color:var(--text-primary, #0F172A);border-color:var(--border-color, #E2E8F0)}.hub-btn-secondary:hover:not(:disabled){background:#e2e8f0;border-color:#cbd5e1}.hub-btn-outline{background:transparent;color:var(--text-primary, #0F172A);border-color:var(--border-color, #E2E8F0)}.hub-btn-outline:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.hub-btn-ghost{background:transparent;color:var(--text-secondary, #475569);border-color:transparent}.hub-btn-ghost:hover:not(:disabled){background:#f1f5f9;color:var(--text-primary, #0F172A)}.hub-btn-danger{background:var(--danger-color, #EF4444);color:#fff;box-shadow:0 2px 10px #ef444440}.hub-btn-danger:hover:not(:disabled){background:#dc2626}.hub-btn-sm{min-height:36px;padding:6px 12px;font-size:12.5px}.hub-btn-md{min-height:44px;padding:10px 18px;font-size:14px}.hub-btn-lg{min-height:48px;padding:12px 24px;font-size:15px}.hub-btn-full{width:100%}.hub-btn-spinner{animation:hub-spin .8s linear infinite}@keyframes hub-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hub-card,.card{background:var(--card-background, #FFFFFF);border:1px solid var(--border-color, #E2E8F0);border-radius:var(--card-radius, 16px);box-sizing:border-box;transition:box-shadow var(--duration-fast, .15s) var(--ease, ease)}.hub-card-default{box-shadow:var(--card-shadow)}.hub-card-elevated{box-shadow:0 10px 25px -5px #0f172a14,0 8px 10px -6px #0f172a0a}.hub-card-flat{box-shadow:none}.hub-card-outline{box-shadow:none;border:1px solid var(--border-color, #E2E8F0)}.hub-card-interactive{cursor:pointer}.hub-card-interactive:hover{border-color:#cbd5e1;box-shadow:0 8px 24px -4px #0f172a1a}.hub-card-interactive:active{transform:scale(.99)}.hub-card-pad-none{padding:0}.hub-card-pad-sm{padding:10px 12px}.hub-card-pad-md{padding:16px}.hub-card-pad-lg{padding:20px}.skeleton{display:flex;flex-direction:column;gap:12px;width:100%;padding:16px;box-sizing:border-box}.skeleton span{display:block;width:100%;height:20px;border-radius:var(--radius-sm, 8px);background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:hub-shimmer 1.5s infinite linear}.skeleton span:nth-child(1){width:60%;height:24px}.skeleton span:nth-child(2){width:90%}.skeleton span:nth-child(3){width:75%}@keyframes hub-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 20px;background:var(--card-background, #FFFFFF);border:1px solid var(--border-color, #E2E8F0);border-radius:var(--card-radius, 16px);gap:8px;box-sizing:border-box}.state strong{font-size:15px;font-weight:700;color:var(--text-primary, #0F172A)}.state p{font-size:13px;color:var(--text-secondary, #475569);max-width:320px;margin:0}.state-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.state-error strong{color:#991b1b}.state-error small{font-size:11px;color:#b91c1c;font-family:monospace}.income-wallet-card-wrapper{margin-bottom:1.25rem;width:100%}.income-gradient-card{background:linear-gradient(135deg,#0d1b2a,#1b2a4a,#241c3d);border-radius:20px;padding:1.25rem 1.5rem;color:#fff;box-shadow:0 10px 25px -5px #0d1b2a59,0 8px 10px -6px #0d1b2a33;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.income-gradient-card:after{content:"";position:absolute;top:-50%;right:-20%;width:200px;height:200px;background:radial-gradient(circle,#ec489926,#0000 70%);border-radius:50%;pointer-events:none}.income-gradient-card .card-top-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.income-gradient-card .card-lbl{font-size:.95rem;font-weight:500;color:#ffffffd9;letter-spacing:-.01em}.income-gradient-card .btn-view-detail{background:transparent;border:none;color:#fffc;font-size:.85rem;cursor:pointer;display:flex;align-items:center;gap:2px;padding:2px 6px;border-radius:6px;transition:all .2s ease}.income-gradient-card .btn-view-detail:hover{color:#fff;background:#ffffff1a}.income-gradient-card .card-amount-row{margin:.35rem 0 .5rem}.income-gradient-card .main-amount-text{font-size:1.85rem;font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1.2}.income-gradient-card .card-sub-date{font-size:.8rem;color:#ffffffa6}.pending-notice-banner{margin-top:.75rem;background:linear-gradient(90deg,#fffbeb,#fef3c7);border:1px solid #fde68a;border-radius:12px;padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;box-shadow:0 2px 6px #f59e0b1a;transition:transform .15s ease}.pending-notice-banner:hover{transform:translateY(-1px)}.pending-notice-banner .banner-left{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#92400e}.pending-notice-banner .btn-banner-action{background:#f59e0b;color:#fff;border:none;border-radius:8px;padding:.35rem .75rem;font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:2px;cursor:pointer}.degraded-notice-banner{margin-top:.5rem;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;padding:.5rem .75rem;display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#64748b}.notification-bell-container{position:relative;display:inline-flex;align-items:center}.notification-bell-button{position:relative;background:transparent;border:none;cursor:pointer;padding:8px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--navy-800, #1e293b);transition:background-color var(--duration-fast, .15s) var(--ease, ease),transform var(--duration-fast, .15s) var(--ease, ease);min-width:44px;min-height:44px}.notification-bell-button:hover{background-color:var(--bg-hover, rgba(0, 0, 0, .06))}.notification-bell-button:active{transform:scale(.96)}.page-header-container .notification-bell-button,.page-header-home .notification-bell-button,.page-header-default .notification-bell-button,.page-header-detail .notification-bell-button,.dashboard-hero-navy .notification-bell-button{color:#fff;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);box-shadow:0 2px 8px #00000026}.page-header-container .notification-bell-button:hover,.page-header-home .notification-bell-button:hover,.page-header-default .notification-bell-button:hover,.page-header-detail .notification-bell-button:hover,.dashboard-hero-navy .notification-bell-button:hover{background:#fff3}.notification-badge{position:absolute;top:4px;right:4px;background:var(--pink-500, #ef4444);color:#fff;font-size:10px;font-weight:800;min-width:18px;height:18px;line-height:18px;border-radius:var(--radius-full, 999px);text-align:center;padding:0 4px;box-shadow:0 0 0 2px var(--surface, #ffffff);display:flex;align-items:center;justify-content:center}.page-header-home .notification-badge,.dashboard-hero-navy .notification-badge{box-shadow:0 0 0 2px #0b1736}.notification-popover{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-width:calc(100vw - 24px);background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:var(--radius-lg, 16px);box-shadow:0 16px 36px -6px #0f172a33,0 8px 16px -4px #0f172a1a;z-index:1000;overflow:hidden;animation:popoverFadeIn .18s cubic-bezier(.16,1,.3,1)}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.notification-popover-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-light, #f1f5f9);background:var(--surface, #ffffff)}.notification-popover-title{display:flex;align-items:center;gap:8px}.notification-popover-title strong{font-size:14px;font-weight:700;color:var(--navy-900, #0f172a)}.popover-unread-tag{background:#ef44441a;color:#ef4444;font-size:11px;font-weight:700;padding:2px 8px;border-radius:var(--radius-full, 999px)}.popover-action-btn{background:transparent;border:none;color:var(--teal-600, #0d9488);font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius-xs, 6px);transition:background-color var(--duration-fast, .15s) var(--ease, ease)}.popover-action-btn:hover{background:#0d948814}.notification-popover-body{max-height:320px;overflow-y:auto;-webkit-overflow-scrolling:touch}.popover-loading,.popover-empty{padding:28px 16px;text-align:center;color:var(--text-secondary, #64748b);font-size:13px}.popover-list{list-style:none;margin:0;padding:0}.popover-item{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-light, #f1f5f9);cursor:pointer;transition:background-color var(--duration-fast, .15s) var(--ease, ease)}.popover-item:last-child{border-bottom:none}.popover-item:hover{background-color:var(--bg-subtle, #f8fafc)}.popover-item.unread{background-color:#0d94880a}.popover-item-icon{margin-top:2px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-full, 50%);background:#f1f5f9;flex-shrink:0}.noti-icon.commission{color:#16a34a}.noti-icon.proposal{color:#2563eb}.noti-icon.reward{color:#d97706}.noti-icon.task{color:#8b5cf6}.noti-icon.alert{color:#ef4444}.noti-icon.info{color:#64748b}.popover-item-content{flex:1;min-width:0}.popover-item-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.popover-item-title{font-size:13px;color:var(--navy-900, #0f172a);font-weight:600;line-height:1.3;overflow-wrap:anywhere;word-break:break-word}.unread-dot{width:7px;height:7px;border-radius:50%;background:var(--teal-600, #0d9488);flex-shrink:0}.popover-item-body{margin:4px 0 0;font-size:12px;color:var(--text-secondary, #64748b);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;word-break:break-word}.popover-item-time{display:block;margin-top:4px;font-size:11px;color:var(--muted, #94a3b8)}.notification-popover-footer{padding:10px 16px;background:var(--bg-subtle, #f8fafc);border-top:1px solid var(--border-light, #f1f5f9);text-align:center}.popover-footer-link{color:var(--teal-600, #0d9488);font-size:12px;font-weight:700;text-decoration:none}.popover-footer-link:hover{text-decoration:underline}@media(max-width:520px){.notification-popover{position:fixed;top:60px;right:12px;left:12px;width:auto;max-width:calc(100vw - 24px);max-height:calc(100dvh - 80px);border-radius:var(--radius-lg, 16px);box-shadow:0 20px 48px #0f172a4d}.notification-popover-header{padding:12px 14px}.notification-popover-body{max-height:min(340px,calc(100dvh - 180px))}.popover-item{gap:10px;padding:12px 14px}}.page-header-container{width:100%;box-sizing:border-box;position:relative;z-index:10}.page-header-home{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 16px}.page-header-home-info{display:flex;align-items:center;gap:12px;min-width:0}.page-header-avatar{width:46px;height:46px;border-radius:var(--radius-full);border:2px solid rgba(255,255,255,.35);object-fit:cover;background:var(--navy-800);flex-shrink:0}.page-header-avatar-fallback{width:46px;height:46px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary-action) 0%,var(--teal-500) 100%);color:#fff;font-weight:700;font-size:18px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.35);flex-shrink:0}.page-header-home-texts{display:flex;flex-direction:column;min-width:0}.page-header-home-texts h1{font-size:18px;font-weight:700;color:#fff;margin:0;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-header-home-texts p{font-size:12px;color:#94a3b8;margin:3px 0 0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-header-default{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:14px 18px;background:var(--header-background);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 4px 16px #070d1e2e;color:#fff}.page-header-default-main{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.page-header-default-texts{display:flex;flex-direction:column;min-width:0}.page-header-default-texts h1{font-size:17px;font-weight:700;color:#fff;margin:0;line-height:1.3;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-header-default-texts p{font-size:11.5px;color:#94a3b8;margin:2px 0 0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-header-detail{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:10px 16px;background:var(--header-background);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 4px 16px #070d1e2e;color:#fff}.page-header-detail-main{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.page-header-detail-texts{display:flex;flex-direction:column;min-width:0}.page-header-detail-texts h1{font-size:16px;font-weight:700;color:#fff;margin:0;line-height:1.3;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-header-detail-texts p{font-size:11px;color:#94a3b8;margin:1px 0 0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-header-back-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-full);background:#ffffff1a;color:#fff;cursor:pointer;flex-shrink:0;transition:background-color var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease)}.page-header-back-btn:hover{background-color:#fff3;border-color:#ffffff4d;color:#fff}.page-header-back-btn:active{background-color:#ffffff40}.page-header-back-btn:focus-visible{outline:2px solid var(--primary-action);outline-offset:2px}.page-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}@media(max-width:480px){.page-header-home-texts h1{font-size:16px}.page-header-home-texts p{font-size:11px}.page-header-default{padding:12px 16px}}.dashboard-onboarding-wrapper{padding:0 16px}.welcome-onboarding{position:relative;display:grid;gap:14px;margin-top:16px;padding:16px 18px;overflow:hidden;border:1px solid var(--teal-100, #ccfbf1);border-radius:var(--radius-lg, 16px);background:linear-gradient(135deg,var(--surface, #ffffff) 0%,var(--teal-50, #f0fdfa) 100%);box-shadow:0 4px 12px #0d94880f}.welcome-onboarding:after{content:"";position:absolute;width:120px;height:120px;right:-50px;top:-50px;border-radius:50%;background:var(--teal-100, #ccfbf1);opacity:.4;pointer-events:none}.welcome-onboarding-heading{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start}.welcome-onboarding-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:var(--teal-100, #ccfbf1);color:var(--teal-700, #0f766e)}.welcome-onboarding-eyebrow{color:var(--teal-700, #0f766e);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.welcome-onboarding h2{margin-top:2px;color:var(--navy-900, #0f172a);font-size:16px;line-height:1.35;overflow-wrap:anywhere}.welcome-dismiss{position:relative;z-index:2;display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:var(--radius-full, 999px);background:transparent;color:var(--muted, #94a3b8);cursor:pointer}.welcome-dismiss:hover{background:#ffffffd9;color:#0f172a}.welcome-context{display:flex;flex-wrap:wrap;gap:8px}.welcome-context span{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid var(--border-light, #f1f5f9);border-radius:var(--radius-full, 999px);background:#ffffffd9;color:var(--text-secondary, #64748b);font-size:12px;font-weight:600}.welcome-progress-row{display:flex;justify-content:space-between;color:var(--text-secondary, #64748b);font-size:12px}.welcome-progress-row span{color:var(--teal-700, #0f766e);font-weight:800}.welcome-progress{height:6px;overflow:hidden;border-radius:var(--radius-full, 999px);background:var(--border, #e2e8f0)}.welcome-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0d9488,#047857);transition:width .3s ease}.welcome-actions{display:grid;gap:8px;margin:0;padding:0;list-style:none}.welcome-actions li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--border, #e2e8f0);border-radius:var(--radius, 12px);background:#ffffffe6}.welcome-actions li>svg{color:var(--muted-light, #cbd5e1)}.welcome-actions li.is-complete>svg{color:var(--success, #16a34a)}.welcome-actions li div{display:grid;gap:2px;min-width:0}.welcome-actions li div strong{font-size:13px;color:#0f172a}.welcome-actions li div span{color:var(--muted, #94a3b8);font-size:11px}.welcome-actions li>a{min-height:34px;display:inline-flex;align-items:center;padding:0 10px;border-radius:var(--radius-xs, 8px);background:var(--teal-600, #0d9488);color:#fff;font-size:11.5px;font-weight:700;text-decoration:none}.welcome-action-done{color:var(--success, #16a34a);font-size:12px;font-weight:800}.welcome-reopen{display:inline-flex;gap:8px;align-items:center;margin-top:12px;padding:8px 12px;border:1px solid var(--teal-100, #ccfbf1);border-radius:var(--radius-full, 999px);background:var(--teal-50, #f0fdfa);color:var(--teal-700, #0f766e);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.welcome-onboarding-error{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:12px 16px;background:#fff1f2;border:1px solid #FECDD3;border-radius:12px;color:#9f1239;font-size:13px}.welcome-onboarding-loading{padding:16px}.welcome-onboarding-loading .skeleton{display:block;width:70%;height:18px;border-radius:4px;background:#e2e8f0}.welcome-onboarding-loading .skeleton+.skeleton{margin-top:8px;width:100%;height:40px}.dashboard-page-v2{min-height:100vh;min-height:100dvh;width:100%;background:#f8fafc;padding-bottom:96px;position:relative;overflow-x:hidden;box-sizing:border-box}.dashboard-hero-navy{background:linear-gradient(180deg,#070d1e,#0b1736 60%,#0e1e42);padding:16px 16px 28px;border-bottom-left-radius:24px;border-bottom-right-radius:24px;box-shadow:0 8px 24px #070d1e40;position:relative;overflow:hidden}.dashboard-hero-navy:before{content:"";position:absolute;top:-50px;right:-50px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(255,45,85,.15) 0%,transparent 70%);pointer-events:none}.dashboard-primary-actions{margin-top:16px}.dashboard-primary-actions .quick-actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.dashboard-primary-actions .dashboard-action-card{display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff;border:1px solid #F1F5F9;border-radius:16px;padding:12px 6px;cursor:pointer;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 4px 12px #0f172a0f;min-height:84px;justify-content:center}.dashboard-primary-actions .dashboard-action-card:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #0f172a1a}.dashboard-primary-actions .dashboard-action-card .widget-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;transition:transform .15s ease}.dashboard-primary-actions .dashboard-action-card:hover:not(:disabled) .widget-icon{transform:scale(1.06)}.widget-icon-navy{background:#eff6ff;color:#3b82f6}.widget-icon-pink{background:#fff7ed;color:#f97316}.widget-icon-teal{background:#fef3c7;color:#d97706}.dashboard-primary-actions .dashboard-action-card strong{font-size:11.5px;font-weight:600;color:#1e293b;text-align:center;white-space:nowrap}.dashboard-primary-actions .action-ready-label{display:none}.dashboard-content-body{padding:16px;display:flex;flex-direction:column;gap:20px}.dashboard-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.dashboard-section-title{font-size:15.5px;font-weight:700;color:#0f172a;margin:0;display:flex;align-items:center;gap:8px}.dashboard-badge-count{font-size:11px;font-weight:700;background:#eff6ff;color:#3b82f6;padding:1px 7px;border-radius:999px}.dashboard-section-more{font-size:12px;font-weight:600;color:#3b82f6;text-decoration:none;display:flex;align-items:center;gap:2px}.dashboard-section-more:hover{text-decoration:underline}.dashboard-task-card{background:#fff;border-radius:16px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 8px #0f172a0a;border:1px solid #F1F5F9;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.dashboard-task-card:hover{transform:translateY(-1px);box-shadow:0 4px 14px #0f172a14}.dashboard-task-left{display:flex;align-items:center;gap:12px;min-width:0}.dashboard-task-icon-box{width:38px;height:38px;border-radius:10px;background:#ffeaea;color:#ff2d55;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dashboard-task-texts{min-width:0}.dashboard-task-texts h4{font-size:13.5px;font-weight:600;color:#0f172a;margin:0 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-task-time{font-size:11.5px;color:#64748b;display:flex;align-items:center;gap:6px}.dashboard-task-badge-urgent{background:#ffeaea;color:#ff2d55;font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;white-space:nowrap;flex-shrink:0}.dashboard-task-empty-card,.dashboard-feed-empty-card{background:#fff;border-radius:14px;padding:16px;text-align:center;border:1px solid #F1F5F9;color:#64748b;font-size:13px}.dashboard-task-empty-card p,.dashboard-feed-empty-card p{margin:0}.dashboard-news-list{display:grid;gap:10px}.dashboard-news-banner{width:100%;border-radius:18px;overflow:hidden;position:relative;background:linear-gradient(135deg,#0a1931,#150e28,#2a0845);color:#fff;padding:22px 18px;box-shadow:0 8px 24px #0a193140;display:flex;flex-direction:column;justify-content:flex-end;min-height:130px;box-sizing:border-box;text-decoration:none}.dashboard-news-banner.is-compact{min-height:92px;padding:16px 18px}.dashboard-news-banner.is-compact .dashboard-news-title{font-size:14.5px;-webkit-line-clamp:1}.dashboard-news-banner-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.25;pointer-events:none}.dashboard-news-banner:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,45,85,.35) 0%,transparent 60%);pointer-events:none}.dashboard-news-tag{font-size:11px;font-weight:800;letter-spacing:.08em;color:#ff2d55;text-transform:uppercase;margin-bottom:4px;z-index:1}.dashboard-news-title{font-size:16.5px;font-weight:800;color:#fff;margin:0 0 4px;letter-spacing:-.2px;z-index:1;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.dashboard-news-slogan{font-size:12px;color:#e2e8f0;margin:0;z-index:1;opacity:.9}.dashboard-news-skeleton{background:linear-gradient(135deg,#0a1931,#150e28,#2a0845);border-radius:18px;padding:22px 18px;display:flex;flex-direction:column;justify-content:center;min-height:130px;box-sizing:border-box}.dashboard-news-skeleton .skeleton{background:#ffffff26;display:block}.dashboard-feed-error-card{background:#fff1f2;border:1px solid #FECDD3;border-radius:14px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;color:#9f1239;font-size:13px}.dashboard-feed-error-left{display:flex;align-items:center;gap:8px}.dashboard-feed-retry-btn{background:#9f1239;color:#fff;border:none;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:4px}.dashboard-feed-retry-btn:hover{background:#881337}.dashboard-secondary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.dashboard-load-error{margin:16px;padding:16px;background:#fff1f2;border:1px solid #FECDD3;border-radius:14px;color:#9f1239;text-align:center}.login-page-container{min-height:100vh;min-height:100dvh;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:48px 20px 24px;background:linear-gradient(180deg,#070d1e,#0a1329 45%,#0b1736);position:relative;overflow-x:hidden;box-sizing:border-box}.login-page-container:before{content:"";position:absolute;bottom:0;left:0;right:0;height:280px;background:radial-gradient(ellipse 120% 80% at 50% 100%,rgba(26,44,86,.45) 0%,transparent 70%),repeating-radial-gradient(circle at 50% 120%,transparent 0,transparent 20px,rgba(59,130,246,.04) 21px,rgba(59,130,246,.04) 22px);pointer-events:none;z-index:0}.login-content-wrapper{width:100%;max-width:380px;display:flex;flex-direction:column;align-items:center;z-index:1;margin:auto 0}.login-branding{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:28px}.login-brand-title-wrap{display:flex;align-items:center;gap:10px;margin-bottom:8px}.login-star-icon{width:28px;height:28px;color:#fff;filter:drop-shadow(0 0 8px rgba(255,255,255,.5))}.login-brand-title{font-size:24px;font-weight:800;letter-spacing:.5px;color:#fff;margin:0}.login-brand-title .hub-accent{color:#ff2d55;margin-left:5px}.login-subtitle{font-size:14px;font-weight:500;color:#94a3b8;margin:0}.login-card{width:100%;background:#fff;border-radius:22px;padding:28px 24px 24px;box-shadow:0 16px 40px #00000059;box-sizing:border-box;display:flex;flex-direction:column;gap:18px}.login-input-group{display:flex;flex-direction:column;gap:4px;position:relative}.login-input-group label{font-size:12px;font-weight:600;color:#64748b}.login-input-wrapper{position:relative;display:flex;align-items:center}.login-input-field{width:100%;border:none;border-bottom:1.5px solid #E2E8F0;border-radius:0;padding:10px 32px 10px 0;font-size:14px;font-family:inherit;color:#0f172a;background:transparent;outline:none;transition:border-color .2s ease}.login-input-field::placeholder{color:#94a3b8;font-size:13.5px}.login-input-field:focus{border-bottom-color:#ff2d55}.login-password-toggle{position:absolute;right:0;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;transition:color .15s ease}.login-password-toggle:hover{color:#0f172a}.login-options-row{display:flex;align-items:center;justify-content:space-between;margin-top:2px;font-size:13px}.login-remember-me{display:flex;align-items:center;gap:8px;color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none}.login-checkbox-custom{width:16px;height:16px;border:1.5px solid #CBD5E1;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;accent-color:#FF2D55}.login-forgot-link{color:#ff2d55;text-decoration:none;font-weight:500;font-size:12.5px;transition:opacity .15s ease}.login-forgot-link:hover{opacity:.85;text-decoration:underline}.login-submit-btn{width:100%;background:linear-gradient(135deg,#ff2d55,#e11d48);color:#fff;border:none;border-radius:12px;padding:13px 20px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 16px #ff2d5559;transition:transform .15s ease,box-shadow .15s ease;margin-top:4px}.login-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #ff2d5573}.login-submit-btn:active:not(:disabled){transform:translateY(0)}.login-submit-btn:disabled{opacity:.65;cursor:not-allowed}.login-divider{display:flex;align-items:center;text-align:center;margin:4px 0}.login-divider:before,.login-divider:after{content:"";flex:1;border-bottom:1px solid #E2E8F0}.login-divider span{padding:0 12px;font-size:12px;color:#94a3b8;font-weight:400}.login-google-btn{width:100%;background:#fff;border:1px solid #E2E8F0;border-radius:12px;padding:11px 16px;font-size:13.5px;font-weight:600;color:#334155;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:background-color .15s ease,border-color .15s ease}.login-google-btn:hover{background:#f8fafc;border-color:#cbd5e1}.login-google-mark{display:inline-grid;width:22px;height:22px;place-items:center;border-radius:50%;background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0);color:#fff;font-size:13px;font-weight:800}.login-google-status{align-items:center;text-align:center}.login-google-status h1{font-size:18px}.login-google-status p{color:#64748b;font-size:13px}.login-google-status a{font-weight:700}.login-error-alert{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fef2f2;border:1px solid #FECACA;border-radius:10px;color:#dc2626;font-size:13px;line-height:1.4}.login-footer-copyright{text-align:center;font-size:12px;color:#64748b;z-index:1;margin-top:24px;letter-spacing:.2px}.employee-timeline-section{display:flex;flex-direction:column;gap:20px;margin-top:16px}.timeline-summary-banner{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;background:linear-gradient(135deg,#2563eb14,#9333ea14);border:1px solid rgba(37,99,235,.2);border-radius:12px;padding:16px}.summary-stat{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:12px;color:var(--text-muted, #64748b);font-weight:500}.stat-value{font-size:14px;color:var(--text-color, #1e293b);font-weight:700}.vertical-timeline-track{position:relative;display:flex;flex-direction:column;gap:24px;padding-left:28px;margin-top:8px}.vertical-timeline-track:before{content:"";position:absolute;top:12px;bottom:12px;left:11px;width:2px;background:var(--border-color, #e2e8f0)}.timeline-milestone-node{position:relative}.timeline-node-marker{position:absolute;left:-28px;top:12px;width:24px;height:24px;border-radius:50%;background:var(--bg-surface, #ffffff);border:2px solid var(--border-color, #cbd5e1);display:flex;align-items:center;justify-content:center;z-index:2;box-shadow:0 0 0 2px var(--bg-surface, #ffffff)}.timeline-milestone-node.is-highlight .timeline-node-marker{border-color:#f59e0b;background:#fffbeb;box-shadow:0 0 8px #f59e0b66}.timeline-icon.join{color:#2563eb}.timeline-icon.anniversary{color:#f59e0b}.timeline-icon.reward{color:#10b981}.timeline-icon.promotion{color:#8b5cf6}.timeline-icon.default{color:#64748b}.milestone-content-card{padding:16px;border-radius:12px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-surface, #ffffff);transition:transform .15s,box-shadow .15s}.milestone-content-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000000f}.timeline-milestone-node.is-highlight .milestone-content-card{border-color:#f59e0b66;background:linear-gradient(to bottom right,#fff,#fffdfa)}.milestone-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.milestone-date-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--text-muted, #64748b);background:var(--bg-muted, #f1f5f9);padding:3px 8px;border-radius:6px}.anniversary-pill{font-size:11.5px;font-weight:700;color:#b45309;background:#fef3c7;padding:2px 8px;border-radius:10px}.milestone-title{margin:0 0 6px;font-size:15px;color:var(--text-color, #1e293b);font-weight:700}.milestone-desc{margin:0;font-size:13.5px;color:var(--text-muted, #475569);line-height:1.5}.milestone-badge-preview{margin-top:12px}.milestone-badge-img{max-height:48px;object-fit:contain}.milestone-footer{margin-top:12px;display:flex;align-items:center;padding-top:8px;border-top:1px dashed var(--border-light, #f1f5f9)}.reaction-btn{position:relative;background:transparent;border:1px solid var(--border-color, #e2e8f0);border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600;color:var(--text-muted, #64748b);cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all .2s}.reaction-btn:disabled{cursor:default;opacity:1}.reaction-btn:hover{background:#fef2f2;color:#ef4444;border-color:#fecaca}.reaction-btn.active{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.heart-filled{fill:#dc2626;color:#dc2626}.reaction-btn.active .heart-filled{animation:heart-pop .65s cubic-bezier(.2,1.7,.4,1)}.reaction-burst{position:absolute;inset:50% auto auto 50%;width:1px;height:1px;pointer-events:none}.reaction-burst i{position:absolute;color:#ef4444;font-size:14px;font-style:normal;opacity:0;animation:heart-fly .85s ease-out forwards}.reaction-burst i:nth-child(1){--x: -38px;--y: -34px;animation-delay:.02s}.reaction-burst i:nth-child(2){--x: -18px;--y: -48px;animation-delay:.08s}.reaction-burst i:nth-child(3){--x: 5px;--y: -52px;animation-delay:.04s}.reaction-burst i:nth-child(4){--x: 27px;--y: -39px;animation-delay:.1s}.reaction-burst i:nth-child(5){--x: 40px;--y: -20px;animation-delay:.06s}@keyframes heart-pop{0%{transform:scale(.7)}45%{transform:scale(1.7) rotate(-12deg)}to{transform:scale(1)}}@keyframes heart-fly{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}25%{opacity:1}to{opacity:0;transform:translate(var(--x),var(--y)) scale(1.25) rotate(18deg)}}@media(prefers-reduced-motion:reduce){.reaction-btn.active .heart-filled,.reaction-burst i{animation:none}}.timeline-loading-card,.timeline-error-card,.timeline-empty-card{padding:36px 20px;text-align:center}.timeline-empty-card .empty-icon{color:#f59e0b;margin-bottom:8px}.profile-page-v2{min-height:100vh;min-height:100dvh;width:100%;background:var(--page-background);padding-bottom:calc(var(--bottom-nav-height, 64px) + env(safe-area-inset-bottom,0px) + 32px);position:relative;overflow-x:hidden;box-sizing:border-box}.profile-hero-card{background:linear-gradient(180deg,#070d1e,#0b1736 60%,#0e1e42);padding:14px 16px 20px;border-bottom-left-radius:24px;border-bottom-right-radius:24px;box-shadow:0 8px 24px #070d1e33;position:relative;overflow:hidden;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:14px;box-sizing:border-box}.profile-hero-card:before{content:"";position:absolute;top:-40px;right:-40px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(255,45,85,.16) 0%,transparent 70%);pointer-events:none}.profile-avatar-wrap{position:relative;margin:0 auto 10px}.profile-avatar-editor{display:flex;flex-direction:column;align-items:center;position:relative}.profile-avatar-container{position:relative;display:inline-block}.profile-avatar,.profile-avatar-fallback{width:88px;height:88px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.9);box-shadow:0 8px 20px #00000059;background:#1e293b;display:block}.profile-avatar-fallback{display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:800;color:#fff;background:linear-gradient(135deg,#ff2d55,#3b82f6)}.profile-avatar-input-label{position:absolute;bottom:-2px;right:-4px;padding:4px 8px;background:#fff;color:#0f172a;border:2px solid #070D1E;border-radius:var(--radius-full, 999px);font-size:11px;font-weight:700;display:inline-flex;align-items:center;gap:4px;cursor:pointer;box-shadow:0 2px 8px #00000040;transition:transform var(--duration-fast) var(--ease)}.profile-avatar-input-label:hover{transform:scale(1.05)}.profile-file-input-hidden,.profile-avatar-editor input[type=file]{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;opacity:0!important;pointer-events:none!important}.profile-avatar-actions{display:flex;gap:8px;margin-top:8px}.profile-hero-name{font-size:19px;font-weight:800;color:#fff;margin:0 0 3px;letter-spacing:-.3px}.profile-hero-job-title{font-size:12.5px;font-weight:600;color:#f59e0b;margin:0}.profile-main-body{padding:0 16px;max-width:540px;margin:0 auto;box-sizing:border-box}.profile-content-card{background:var(--card-background);border-radius:var(--card-radius);padding:18px 18px 24px;box-shadow:var(--card-shadow);border:1px solid var(--border-color);box-sizing:border-box}.profile-tab-header-scroll-container{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0 -4px 16px;padding:0 4px}.profile-tab-header-scroll-container::-webkit-scrollbar{display:none}.profile-tab-header{display:flex;border-bottom:1.5px solid var(--border-color);gap:20px;min-width:max-content}.profile-tab-item{background:transparent;border:none;padding:8px 4px 12px;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--text-secondary);cursor:pointer;position:relative;white-space:nowrap;transition:color var(--duration-fast) var(--ease)}.profile-tab-item:hover{color:var(--text-primary)}.profile-tab-item.active{color:var(--primary-action, #FF2D55);font-weight:700}.profile-tab-item.active:after{content:"";position:absolute;bottom:-1.5px;left:0;right:0;height:2.5px;background:var(--primary-action, #FF2D55);border-radius:2px}.profile-rows-list{display:flex;flex-direction:column;gap:12px}.profile-data-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid #F1F5F9;min-height:40px;gap:12px}.profile-data-row:last-child{border-bottom:none}.profile-row-label{font-size:13px;font-weight:500;color:var(--text-secondary);flex-shrink:0}.profile-row-value{font-size:13.5px;font-weight:600;color:var(--text-primary);text-align:right;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;flex:1}.profile-text-wrap{overflow-wrap:break-word;word-break:normal;text-align:right}.btn-icon-edit{min-width:44px;min-height:44px;width:44px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:#eff6ff;color:#2563eb;border:none;border-radius:var(--radius-sm, 8px);cursor:pointer;transition:background-color var(--duration-fast) var(--ease);flex-shrink:0}.btn-icon-edit:hover:not(:disabled){background:#dbeafe}.btn-icon-edit:disabled{opacity:.5;cursor:not-allowed}.profile-inline-form{display:flex;align-items:center;gap:8px;width:100%;justify-content:flex-end;flex-wrap:wrap}.profile-inline-input{padding:7px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;outline:none;max-width:180px;box-sizing:border-box}.profile-inline-input:focus{border-color:var(--primary-action);box-shadow:0 0 0 2px #ff2d5526}.profile-lock-icon{color:#94a3b8;flex-shrink:0;margin-left:4px}.profile-row-label{font-size:13.5px;color:var(--text-secondary);font-weight:500;display:inline-flex;align-items:center;gap:4px}.profile-hr-notice-box{margin-top:14px;padding:10px 12px;background:#f8fafc;border:1px solid #E2E8F0;border-radius:var(--radius-sm, 10px);color:#64748b;font-size:11.5px;line-height:1.45;display:flex;align-items:flex-start;gap:8px}.profile-bottom-sheet-overlay{position:fixed;inset:0;background:#070d1ea6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:fadeInOverlay .2s ease-out}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.profile-bottom-sheet{background:#fff;width:100%;max-width:500px;border-top-left-radius:20px;border-top-right-radius:20px;padding:16px 20px calc(16px + env(safe-area-inset-bottom,0px));box-shadow:0 -10px 30px #0003;display:flex;flex-direction:column;gap:14px;animation:slideUpSheet .25s cubic-bezier(.16,1,.3,1);box-sizing:border-box}@keyframes slideUpSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}.profile-sheet-drag-handle{width:36px;height:4px;background:#cbd5e1;border-radius:2px;margin:0 auto -4px}.profile-sheet-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.profile-sheet-title{font-size:16px;font-weight:700;color:var(--text-primary);margin:0}.profile-sheet-close-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px}.profile-sheet-close-btn:hover{background:#f1f5f9}.profile-sheet-form{display:flex;flex-direction:column;gap:16px}.profile-sheet-field-wrap{display:flex;flex-direction:column;gap:6px}.profile-sheet-label{font-size:13px;font-weight:600;color:var(--text-secondary)}.profile-sheet-input{width:100%;min-height:46px;padding:10px 14px;border:1.5px solid var(--border-color);border-radius:var(--radius-sm, 10px);font-size:15px;color:var(--text-primary);outline:none;background:#fff;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.profile-sheet-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.profile-sheet-input.has-error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441f}.profile-sheet-error{font-size:12px;color:#dc2626;margin:2px 0 0}.profile-sheet-actions{display:flex;gap:10px;margin-top:4px}.profile-sheet-actions button{min-height:44px}.badge-active{background:#ecfdf5;color:#059669;padding:3px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:700;border:1px solid #A7F3D0}.badge-inactive{background:#fef2f2;color:#ef4444;padding:3px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:700;border:1px solid #FECACA}.profile-bottom-actions{margin-top:24px;display:flex;flex-direction:column;gap:10px}.profile-btn-edit-main{width:100%;min-height:44px;padding:12px 16px;border-radius:var(--radius-md);background:#f1f5f9;color:#1e293b;border:1px solid var(--border-color);font-size:14px;font-weight:700;cursor:pointer;text-align:center;transition:all var(--duration-fast) var(--ease)}.profile-btn-edit-main:hover{background:#e2e8f0}.profile-btn-logout-main{width:100%;min-height:44px;padding:12px 16px;border-radius:var(--radius-md);background:transparent;color:#ef4444;border:1px solid #FEE2E2;font-size:13.5px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background-color var(--duration-fast) var(--ease)}.profile-btn-logout-main:hover{background:#fef2f2}.profile-alert-success{padding:10px 14px;background:#ecfdf5;border:1px solid #A7F3D0;border-radius:var(--radius-sm);color:#065f46;font-size:13px;margin-bottom:14px}.profile-alert-error{padding:10px 14px;background:#fef2f2;border:1px solid #FECACA;border-radius:var(--radius-sm);color:#991b1b;font-size:13px;margin-bottom:14px}.profile-conflict-box{padding:12px 14px;background:#fffbeb;border:1px solid #FDE68A;border-radius:var(--radius-sm);color:#92400e;font-size:13px;margin-bottom:14px;display:flex;flex-direction:column;gap:8px}.profile-logout-modal-overlay{position:fixed;inset:0;background-color:#0f172abf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;box-sizing:border-box}.profile-logout-modal-card{background-color:#fff;border-radius:var(--card-radius, 20px);padding:24px;max-width:380px;width:100%;text-align:center;box-shadow:0 20px 40px #0003;box-sizing:border-box}.profile-logout-modal-title{margin:0 0 8px;font-size:18px;font-weight:800;color:var(--text-primary)}.profile-logout-modal-desc{margin:0 0 20px;font-size:13.5px;color:var(--text-secondary)}.profile-logout-modal-actions{display:flex;gap:12px}.profile-logout-modal-actions button{min-height:44px}.profile-btn-cancel{flex:1;padding:10px 14px;background:#f1f5f9;color:#475569;border:none;border-radius:var(--radius-md);font-size:13.5px;font-weight:600;cursor:pointer}.profile-btn-logout-confirm{flex:1;padding:10px 14px;background:#ef4444;color:#fff;border:none;border-radius:var(--radius-md);font-size:13.5px;font-weight:700;cursor:pointer}.profile-logout-wrap{margin-top:24px;display:flex;flex-direction:column;align-items:center;width:100%}.btn-danger-logout{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;background:#fff1f2;color:#e11d48;border:1.5px solid #FFE4E6;border-radius:var(--radius-md, 12px);font-size:15px;font-weight:700;cursor:pointer;transition:all var(--duration-fast, .15s) ease}.btn-danger-logout:hover:not(:disabled){background:#ffe4e6;border-color:#fecdd3;color:#be123c}.btn-danger-logout:disabled{opacity:.6;cursor:not-allowed}.profile-admin-entry{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:15px;border:1px solid var(--teal-100);border-radius:16px;color:var(--navy-900);background:var(--teal-50);text-decoration:none}.profile-admin-entry>svg{color:var(--teal-700)}.profile-admin-entry span{display:grid;gap:3px}.profile-admin-entry strong{font-size:14px}.profile-admin-entry small{color:var(--muted);font-size:11px}.attendance-page-v2{min-height:100vh;min-height:100dvh;width:100%;background:var(--page-background);padding-bottom:calc(var(--bottom-nav-height, 64px) + env(safe-area-inset-bottom,0px) + 32px);position:relative;overflow-x:hidden;box-sizing:border-box}.attendance-tab-container{padding:14px 16px 0;max-width:540px;margin:0 auto;box-sizing:border-box}.attendance-tab-nav{display:flex;background:#e2e8f0;border-radius:var(--radius-md, 12px);padding:3px;gap:4px}.attendance-tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:none;border-radius:var(--radius-sm, 8px);font-family:inherit;font-size:13px;font-weight:600;color:var(--text-secondary);background:transparent;cursor:pointer;transition:all var(--duration-fast) var(--ease)}.attendance-tab-btn.active{background:var(--card-background, #FFFFFF);color:var(--navy-900, #0F172A);font-weight:700;box-shadow:0 2px 6px #0f172a14}.attendance-card-body{padding:14px 16px 24px;max-width:540px;margin:0 auto;display:flex;flex-direction:column;gap:16px;box-sizing:border-box}.attendance-clock-card{background:var(--card-background);border-radius:var(--card-radius);border:1px solid var(--border-color);box-shadow:var(--card-shadow);padding:22px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;box-sizing:border-box}.attendance-date-selector{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--text-secondary);font-size:13.5px;font-weight:600;margin-bottom:4px}.attendance-digital-clock{font-size:clamp(28px,8vw,36px);font-weight:800;color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:-1px;margin:2px 0 10px;line-height:1.1}.attendance-status-capsule{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:4px 14px;border-radius:var(--radius-full);font-size:12.5px;font-weight:700;margin-bottom:10px}.status-checked-in{background:#ecfdf5;color:#059669;border:1px solid #A7F3D0}.status-not-checked-in{background:#fffbeb;color:#d97706;border:1px solid #FDE68A}.status-checked-out{background:#eff6ff;color:#2563eb;border:1px solid #BFDBFE}.status-holiday{background:#f3f4f6;color:#4b5563;border:1px solid #E5E7EB}.status-on-leave{background:#fdf2f8;color:#db2777;border:1px solid #FBCFE8}.attendance-info-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:var(--radius-md, 8px);font-size:13px;font-weight:500;margin-top:8px}.holiday-banner{background:#f3f4f6;color:#374151;border:1px solid #E5E7EB}.leave-banner{background:#fdf2f8;color:#9d174d;border:1px solid #FCE7F3}.attendance-location-box{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;color:var(--text-secondary);margin-bottom:6px;font-weight:500}.attendance-location-box svg{color:var(--primary-action);flex-shrink:0}.attendance-shift-box{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--text-secondary);margin-bottom:16px}.attendance-shift-box strong{color:var(--text-primary)}.attendance-loading-hint{padding:16px 0;color:var(--text-secondary);font-size:13px}.attendance-actions-stack{width:100%;display:flex;flex-direction:column;gap:10px}.btn-attendance-checkin{width:100%;min-height:48px;padding:13px 20px;border-radius:var(--radius-md);background:linear-gradient(135deg,#ff2d55,#e11d48);color:#fff;border:none;font-size:14.5px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #ff2d5559;transition:all var(--duration-fast) var(--ease);display:flex;align-items:center;justify-content:center;gap:8px}.btn-attendance-checkin:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #ff2d5573}.btn-attendance-checkin:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.btn-attendance-checkout{width:100%;min-height:48px;padding:13px 20px;border-radius:var(--radius-md);background:#e2e8f0;color:#334155;border:none;font-size:14px;font-weight:700;cursor:pointer;transition:all var(--duration-fast) var(--ease);display:flex;align-items:center;justify-content:center;gap:8px}.btn-attendance-checkout:hover:not(:disabled){background:#cbd5e1}.btn-attendance-checkout:disabled{opacity:.55;cursor:not-allowed}.attendance-note-box{width:100%;margin-top:14px;text-align:left}.attendance-note-box label{font-size:12px;font-weight:600;color:var(--text-secondary);display:block;margin-bottom:5px}.attendance-note-input{width:100%;padding:9px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;color:var(--text-primary);background:#fff;outline:none;box-sizing:border-box}.attendance-note-input:focus{border-color:var(--primary-action)}.attendance-error-box{margin-top:12px;width:100%;padding:10px 14px;background:#fef2f2;border:1px solid #FECACA;border-radius:var(--radius-sm);color:#991b1b;font-size:12.5px;text-align:left;box-sizing:border-box;overflow-wrap:anywhere;word-break:break-word}.attendance-history-section{width:100%;box-sizing:border-box}.attendance-history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.attendance-history-title{font-size:15px;font-weight:700;color:var(--text-primary);margin:0}.attendance-history-card{background:var(--card-background);border-radius:var(--card-radius);padding:6px 16px;box-shadow:var(--card-shadow);border:1px solid var(--border-color)}.attendance-history-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #F1F5F9}.attendance-history-row:last-child{border-bottom:none}.history-day-lbl{font-size:13px;font-weight:600;color:var(--text-primary)}.history-time-val{font-size:13px;font-weight:700;color:var(--text-primary)}.attendance-history-footer{text-align:center;padding:10px 0 6px}.attendance-view-all-btn{background:transparent;border:none;color:#2563eb;font-size:13px;font-weight:600;cursor:pointer}.attendance-view-all-btn:hover{text-decoration:underline}.attendance-history-tab-content{padding:14px 16px 24px;max-width:540px;margin:0 auto;box-sizing:border-box}.attendance-report-modal-overlay{position:fixed;inset:0;background-color:#0f172abf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;box-sizing:border-box}.attendance-report-modal-card{background-color:#fff;border-radius:var(--card-radius, 20px);padding:22px;max-width:400px;width:100%;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;gap:12px;max-height:min(90dvh,500px);overflow-y:auto;box-sizing:border-box}.attendance-report-modal-header{display:flex;align-items:center;gap:8px}.attendance-report-modal-header h2{margin:0;font-size:17px;font-weight:800;color:var(--text-primary)}.attendance-report-modal-desc{margin:0;font-size:13px;color:var(--text-secondary)}.attendance-report-modal-content{background:#f8fafc;padding:12px;border-radius:var(--radius-sm, 8px);border:1px solid var(--border-color);font-size:13.5px;color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.attendance-report-modal-actions{display:flex;gap:10px;margin-top:4px}.attendance-report-modal-actions>*{flex:1}.income-page-container{max-width:540px;margin:0 auto;min-height:100vh;min-height:100dvh;background-color:var(--page-background);padding-bottom:calc(var(--bottom-nav-height, 64px) + env(safe-area-inset-bottom,0px) + 32px);box-sizing:border-box}.income-hero-header{background:linear-gradient(180deg,#070d1e,#0b1736 60%,#0e1e42);color:#fff;padding:16px 16px 22px;border-bottom-left-radius:24px;border-bottom-right-radius:24px;box-shadow:0 10px 25px -5px #070d1e4d;position:relative;box-sizing:border-box}.income-top-nav-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.income-nav-back-btn,.income-nav-bell-btn{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--duration-fast) var(--ease)}.income-nav-back-btn:hover,.income-nav-bell-btn:hover{background:#ffffff40}.income-top-nav-row .page-title-badge{font-size:17px;font-weight:700;color:#fff}.income-hero-label{font-size:13.5px;font-weight:600;color:#cbd5e1;display:block;margin-bottom:2px}.period-picker-trigger{min-width:185px;min-height:44px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:var(--radius-sm, 8px);padding:.35rem .65rem;font-size:.85rem;font-weight:500;outline:none;cursor:pointer;display:flex!important;justify-content:center;align-items:center;gap:7px}.period-select-box{display:grid;grid-template-columns:44px minmax(185px,1fr) 44px;gap:6px}.period-select-box button{display:grid;min-width:44px;min-height:44px;place-items:center;padding:0;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-sm, 10px);color:#fff;background:#ffffff26;cursor:pointer}.period-select-box button:disabled{opacity:.35;cursor:not-allowed}.period-picker-overlay{position:fixed;inset:0;z-index:1100;display:grid;align-items:end;padding:16px 16px 0;background:#0f172a94;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.period-picker-sheet{width:min(100%,520px);max-height:min(82dvh,680px);margin:0 auto;overflow:hidden;border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -18px 55px #0f172a3d;animation:period-sheet-in .25s ease-out}.period-picker-sheet>header{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;border-bottom:1px solid #e2e8f0}.period-picker-sheet>header div{display:grid}.period-picker-sheet>header span{color:#0f766e;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.period-picker-sheet>header h2{margin:2px 0 0;color:#0f2942;font-size:20px}.period-picker-sheet>header button{display:grid;width:40px;height:40px;place-items:center;border:0;border-radius:50%;color:#475569;background:#f1f5f9}.period-picker-options{display:grid;gap:7px;max-height:calc(min(82dvh,680px) - 78px);overflow-y:auto;padding:12px 14px calc(20px + env(safe-area-inset-bottom))}.period-picker-options>button{display:flex;min-height:54px;align-items:center;justify-content:space-between;padding:0 14px;border:1px solid #e2e8f0;border-radius:14px;color:#334155;background:#fff;font:inherit}.period-picker-options>button>span{display:flex;align-items:center;gap:9px}.period-picker-options strong{font-size:14px}.period-picker-options small{padding:3px 7px;border-radius:999px;color:#0f766e;background:#ccfbf1;font-size:9px;font-weight:800}.period-picker-options>button.is-selected{border-color:#14b8a6;color:#0f766e;background:#f0fdfa;box-shadow:0 0 0 2px #14b8a61f}@keyframes period-sheet-in{0%{transform:translateY(100%)}}.income-hero-main{text-align:left;margin-top:.5rem}.income-hero-main .subtitle-date{font-size:.85rem;color:#ffffffb3;margin-bottom:.35rem}.income-hero-main .hero-total-amount{font-size:clamp(28px,8vw,36px);font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1.1;white-space:nowrap}.income-main-tabs-nav{display:flex;background:var(--card-background);margin:12px 16px;border-radius:var(--card-radius, 16px);padding:4px;box-shadow:var(--card-shadow);border:1px solid var(--border-color);position:relative;z-index:10;gap:4px}.income-main-tabs-nav .main-tab-btn{flex:1;background:transparent;border:none;padding:.65rem .5rem;font-family:inherit;font-size:.85rem;font-weight:600;color:var(--text-secondary);border-radius:var(--radius-sm, 10px);cursor:pointer;transition:all var(--duration-fast) var(--ease);text-align:center;position:relative}.tab-label-mobile{display:none}.income-main-tabs-nav .main-tab-btn.active{background:#0f172a;color:#fff;font-weight:700}.income-main-tabs-nav .tab-badge-dot{position:absolute;top:8px;right:12px;width:8px;height:8px;background:#f59e0b;border-radius:50%}.breakdown-card-container{background:var(--card-background);margin:0 16px 20px;border-radius:var(--card-radius, 20px);padding:16px;box-shadow:var(--card-shadow);border:1px solid var(--border-color)}.breakdown-item-row{display:flex;align-items:center;justify-content:space-between;padding:.85rem 0;border-bottom:1px solid #f8fafc;cursor:pointer;transition:background .15s ease}.breakdown-item-row:hover{background:#f8fafc;margin:0 -.5rem;padding-left:.5rem;padding-right:.5rem;border-radius:8px}.breakdown-item-row .row-left{display:flex;align-items:center;gap:.75rem}.breakdown-circle-icon{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.breakdown-circle-icon.icon-blue{background:#eff6ff;color:#2563eb}.breakdown-circle-icon.icon-green{background:#ecfdf5;color:#10b981}.breakdown-circle-icon.icon-cyan{background:#ecfeff;color:#06b6d4}.breakdown-circle-icon.icon-yellow{background:#fffbeb;color:#f59e0b}.breakdown-circle-icon.icon-teal{background:#f0fdf4;color:#0d9488}.breakdown-circle-icon.icon-red{background:#fef2f2;color:#ef4444}.breakdown-circle-icon.icon-gray{background:#f8fafc;color:#64748b}.breakdown-item-row .row-label{font-size:.9rem;font-weight:500;color:#1e293b}.breakdown-item-row .row-amount{font-size:.95rem;font-weight:700;color:#0f172a;white-space:nowrap;text-align:right}.breakdown-item-row .row-amount.text-red{color:#ef4444}.breakdown-footer-total{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:2px solid #f1f5f9}.breakdown-footer-total .total-lbl{font-size:1.05rem;font-weight:700;color:#0f172a}.breakdown-footer-total .total-val{font-size:1.25rem;font-weight:800;color:#0f172a}.breakdown-footnote{margin-top:.75rem;font-size:.75rem;color:#94a3b8;text-align:center;font-style:italic}.reward-penalty-tab-container{padding:0 1rem}.rp-subtabs-nav{display:flex;border-bottom:2px solid #f1f5f9;margin-bottom:1rem;gap:1.5rem}.rp-subtab-btn{background:transparent;border:none;padding:.5rem .25rem .75rem;font-size:.9rem;font-weight:600;color:#94a3b8;cursor:pointer;position:relative;transition:color .2s ease}.rp-subtab-btn.active{color:#f43f5e}.rp-subtab-btn.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#f43f5e;border-radius:2px}.rp-item-card{background:#fff;border-radius:16px;padding:1rem;margin-bottom:.75rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 6px #00000008;border:1px solid #f8fafc;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.rp-item-card:hover{transform:translateY(-1px);box-shadow:0 4px 10px #0000000f}.rp-card-left{display:flex;align-items:center;gap:.85rem}.rp-circle-icon{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center}.rp-circle-icon.icon-green{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.rp-circle-icon.icon-red{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.rp-info-col .rp-amount-text{font-size:.95rem;font-weight:700}.text-green-amount{color:#16a34a}.text-red-amount{color:#dc2626}.rp-info-col .rp-title{font-size:.85rem;font-weight:600;color:#1e293b;margin:2px 0}.rp-info-col .rp-date{font-size:.75rem;color:#94a3b8}.badge-approved-green{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0;font-size:.75rem;font-weight:600;padding:.2rem .55rem;border-radius:9999px}.badge-penalty-red{background:#fef2f2;color:#dc2626;border:1px solid #fecaca;font-size:.75rem;font-weight:600;padding:.2rem .55rem;border-radius:9999px}.commission-tab-container{padding:0 .75rem;min-width:0}.pending-confirmation-section{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1.5px solid #fcd34d;border-radius:18px;padding:1rem;margin-bottom:1.25rem}.alert-title-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.alert-title-row h4{font-size:.95rem;font-weight:700;color:#92400e;margin:0}.alert-subtext{font-size:.78rem;color:#78350f;margin-bottom:.75rem}.pending-commission-card{background:#fff;border-radius:14px;padding:.85rem 1rem;margin-bottom:.75rem;box-shadow:0 2px 8px #f59e0b26;border:1px solid #fde68a}.invoice-meta,.customer-info,.time-info,.net-amount-display{min-width:0}.invoice-meta strong,.customer-info span,.service-text{overflow-wrap:anywhere}.customer-info,.time-info{display:flex;align-items:center;gap:.3rem}.net-amount-display{display:flex;flex-direction:column;gap:.15rem}.amount-label{color:#64748b;font-size:.75rem}.amount-val{font-size:1rem}.pending-commission-card:last-child{margin-bottom:0}.card-top-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.invoice-meta{display:flex;align-items:center;gap:.4rem;font-size:.85rem}.role-tag-badge{background:#f1f5f9;color:#475569;font-size:.7rem;font-weight:600;padding:1px 6px;border-radius:6px}.badge-pending-status{background:#fef3c7;color:#d97706;font-size:.72rem;font-weight:700;padding:2px 6px;border-radius:6px}.status-badge-pill.confirmed,.status-badge-pill.settled{border:1px solid #fecaca;color:#b91c1c;background:#fef2f2;font-weight:900;box-shadow:0 3px 10px #b91c1c1a}.card-customer-row{display:flex;justify-content:space-between;font-size:.78rem;color:#64748b;margin-bottom:.35rem}.card-service-summary .service-text{font-size:.8rem;color:#334155;margin-bottom:.65rem}.card-amount-action-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f1f5f9;padding-top:.65rem}.btn-open-detail{background:#10b981;color:#fff;border:none;border-radius:8px;padding:.45rem .85rem;font-size:.8rem;font-weight:700;display:flex;align-items:center;gap:4px;cursor:pointer}.commission-filters-bar{display:flex;flex-direction:column;gap:.5rem;margin:0 0 1rem;padding:.75rem;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 2px 10px #0f172a0a}.filter-group{display:flex;align-items:flex-start;flex-direction:column;gap:.4rem}.filter-label{font-size:.75rem;font-weight:600;color:#64748b;flex-shrink:0}.filter-pill-group{display:flex;flex-wrap:wrap;gap:.35rem;width:100%}.filter-pill{background:#fff;border:1px solid #e2e8f0;border-radius:9999px;min-height:34px;padding:.35rem .72rem;font-size:.75rem;font-weight:500;color:#64748b;cursor:pointer;white-space:nowrap}.filter-pill.active{background:#0f172a;color:#fff;border-color:#0f172a}.commission-history-card{background:linear-gradient(180deg,#fff,#fbfdff);border-radius:18px;padding:1rem;margin-bottom:.85rem;border:1px solid #dbe4f0;box-shadow:0 8px 24px #0f172a0f;overflow:hidden}.comm-card-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center;margin-bottom:.75rem;border-bottom:1px solid #e8eef6;padding-bottom:.75rem}.comm-card-header .header-left{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.comm-card-header .header-left strong{min-width:0;color:#0f172a;font-size:.95rem;line-height:1.25;overflow-wrap:anywhere}.comm-card-header .header-right{justify-self:end}.status-badge-pill{display:inline-flex;align-items:center;min-height:28px;padding:.25rem .6rem;border-radius:999px;white-space:nowrap;font-size:.7rem;line-height:1;font-weight:800}.comm-card-body .comm-info-row{display:grid;grid-template-columns:minmax(105px,.9fr) minmax(0,1.35fr);align-items:start;gap:.75rem;font-size:.8rem;margin-bottom:.45rem}.comm-card-body .comm-info-row .lbl{color:#64748b}.comm-card-body .comm-info-row .val,.comm-card-body .comm-info-row .val-net{min-width:0;color:#172033;text-align:right;overflow-wrap:anywhere}.comm-card-body .financial-row-total{border-top:1px dashed #e2e8f0;padding-top:.65rem;margin-top:.65rem;font-size:.86rem}.comm-card-body .financial-row-total .val-net{color:#047857;font-size:.95rem}.comm-card-footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem;padding-top:.25rem}.btn-trace-link{background:transparent;border:none;color:#64748b;min-height:36px;padding:.35rem .2rem;font-size:.75rem;cursor:pointer;display:flex;align-items:center;gap:3px}.status-badge-pill.confirmed,.status-badge-pill.settled{border-color:#a7f3d0;color:#047857;background:#ecfdf5;box-shadow:none}.status-badge-pill.awaiting_staff_confirmation{border:1px solid #fde68a;color:#b45309;background:#fffbeb}.status-badge-pill.disputed{border:1px solid #fecaca;color:#b91c1c;background:#fef2f2}@media(max-width:420px){.commission-history-card{padding:.85rem;border-radius:16px}.comm-card-header{grid-template-columns:1fr;gap:.55rem}.comm-card-header .header-right{justify-self:start}.comm-card-body .comm-info-row{grid-template-columns:minmax(96px,.9fr) minmax(0,1.1fr);gap:.55rem}.comm-card-footer,.btn-trace-link{justify-content:center;width:100%}}.btn-trace-link:hover{color:#2563eb}.income-modal-backdrop{position:fixed;inset:0;background:#0f172aa6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:999;padding:1rem}.income-modal-content{background:#fff;border-radius:20px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0003;animation:modalScaleIn .2s cubic-bezier(.16,1,.3,1);overflow-x:hidden}.income-drawer-content{background:#fff;border-top-left-radius:24px;border-top-right-radius:24px;width:100%;max-width:520px;max-height:85vh;overflow-y:auto;position:fixed;bottom:0;box-shadow:0 -10px 25px #00000026;animation:drawerSlideUp .25s cubic-bezier(.16,1,.3,1)}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes drawerSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.income-modal-header,.income-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.25rem .75rem;border-bottom:1px solid #f1f5f9}.modal-title-with-badge{display:flex;flex-direction:column;gap:2px}.modal-title-with-badge h3{font-size:1.05rem;font-weight:700;color:#0f172a;margin:0}.badge-pending-confirm{background:#fffbeb;color:#d97706;border:1px solid #fde68a;font-size:.65rem;font-weight:700;padding:1px 6px;border-radius:4px;width:fit-content}.income-close-btn{background:#f8fafc;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#64748b;cursor:pointer}.income-modal-body,.income-drawer-body{padding:1.25rem}.order-info-card{display:grid;gap:.65rem;padding:.9rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.info-grid-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.info-cell{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:.35rem;min-width:0}.info-cell .cell-icon{grid-row:1 / span 2;color:#64748b}.cell-label{color:#64748b;font-size:.72rem}.cell-value,.role-tag{color:#0f172a;font-size:.82rem;overflow-wrap:anywhere}.service-items-box{margin-top:.8rem;padding:.85rem;border:1px solid #e2e8f0;border-radius:12px}.box-title{display:block;margin-bottom:.5rem;color:#475569;font-size:.75rem;font-weight:700}.service-list{display:grid;gap:.45rem;padding:0;margin:0;list-style:none}.service-item-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;color:#334155;font-size:.8rem}.svc-name{min-width:0;overflow-wrap:anywhere}.svc-price{font-variant-numeric:tabular-nums;white-space:nowrap}.income-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:.85rem 1.25rem 1.25rem;border-top:1px solid #f1f5f9}.btn-confirm-action{background:#10b981;color:#fff;border:none;border-radius:10px;padding:.75rem 1.25rem;font-size:.9rem;font-weight:700;display:flex;align-items:center;gap:6px;cursor:pointer;transition:background .15s ease}.btn-confirm-action:hover{background:#059669}.btn-dispute-action{background:#fff;color:#d97706;border:1.5px solid #fde68a;border-radius:10px;padding:.75rem 1rem;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:4px;cursor:pointer}.btn-dispute-action:hover{background:#fffbeb}.btn-cancel{background:#f1f5f9;color:#475569;border:none;border-radius:10px;padding:.65rem 1.25rem;font-size:.85rem;font-weight:600;cursor:pointer}.btn-submit-dispute{background:#ef4444;color:#fff;border:none;border-radius:10px;padding:.65rem 1.25rem;font-size:.85rem;font-weight:700;display:flex;align-items:center;gap:4px;cursor:pointer}.btn-submit-dispute:disabled{opacity:.5;cursor:not-allowed}.breakdown-table-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:.85rem;margin-top:1rem}.breakdown-box-header{font-size:.75rem;font-weight:700;color:#475569;margin-bottom:.65rem;letter-spacing:.02em}.breakdown-table-box .breakdown-row{display:flex;justify-content:space-between;font-size:.82rem;margin-bottom:.35rem}.breakdown-row .lbl{min-width:0;padding-right:.75rem;color:#475569}.breakdown-row .val{flex-shrink:0;font-variant-numeric:tabular-nums;white-space:nowrap}.net-lbl-group{display:flex;flex-direction:column;min-width:0}.net-lbl-group small{margin-top:.2rem;color:#64748b;font-size:.68rem}.breakdown-table-box .net-commission-row{border-top:1.5px dashed #cbd5e1;padding-top:.65rem;margin-top:.65rem;align-items:center}.net-commission-row .net-amount{font-size:1.25rem;color:#10b981}@media(max-width:480px){.income-top-nav-row{align-items:stretch;flex-direction:column;gap:.75rem}.period-select-box{grid-template-columns:46px minmax(0,1fr) 46px;width:100%}.period-picker-trigger{width:100%;min-width:0;min-height:48px;padding:.55rem .75rem;font-size:.95rem;font-weight:700;text-align:center}.period-select-box button{min-height:48px}.income-hero-header{padding:1.1rem 1rem 1.75rem;border-bottom-left-radius:22px;border-bottom-right-radius:22px}.income-hero-main .hero-total-amount{font-size:2rem}.income-main-tabs-nav{margin:-.9rem .65rem .85rem;border-radius:16px}.income-main-tabs-nav .main-tab-btn{min-height:48px;padding:.6rem .25rem;font-size:.78rem}.tab-label-full{display:none}.tab-label-mobile{display:inline}.income-main-tabs-nav .tab-badge-dot{right:8px}.commission-tab-container{padding:0 .75rem}.pending-confirmation-section{border-radius:14px;padding:.8rem}.pending-commission-card{padding:.8rem}.card-top-row,.card-customer-row,.card-amount-action-row{align-items:stretch;flex-direction:column;gap:.55rem}.badge-pending-status{align-self:flex-start}.btn-open-detail{justify-content:center;min-height:44px;width:100%}.income-modal-backdrop{align-items:flex-end;padding:0}.income-modal-content{max-height:94dvh;border-radius:20px 20px 0 0}.income-modal-header,.income-modal-body,.income-modal-footer{padding-left:1rem;padding-right:1rem}.info-grid-row{grid-template-columns:1fr}.breakdown-table-box .breakdown-row{gap:.5rem}.breakdown-table-box .net-commission-row{align-items:flex-start;flex-direction:column}.income-modal-footer{position:sticky;bottom:0;z-index:2;display:grid;grid-template-columns:1fr;background:#fff}.btn-confirm-action,.btn-dispute-action{justify-content:center;min-height:46px;width:100%}.btn-confirm-action{grid-row:1}}.income-confirm-success-view{position:relative;overflow:hidden;text-align:center;padding:2.2rem 1.25rem 1.5rem;background:linear-gradient(160deg,#f0fdf4,#fff 55%,#fffbeb)}.sparkle-circle{width:72px;height:72px;position:relative;z-index:1;color:#047857;background:linear-gradient(145deg,#d1fae5,#fef3c7);box-shadow:0 0 0 10px #10b98114,0 16px 32px #10b9812e;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.success-eyebrow{display:inline-flex;margin-bottom:.45rem;padding:.3rem .65rem;border-radius:999px;color:#047857;background:#d1fae5;font-size:.72rem;font-weight:800;letter-spacing:.04em}.income-confirm-success-view h3{margin:0;color:#0f172a;font-size:1.35rem}.success-amount{font-size:clamp(2rem,10vw,2.8rem);font-weight:900;color:#059669;margin:.45rem 0;text-shadow:0 5px 18px rgba(5,150,105,.2)}.success-note{margin:0 auto 1rem;color:#475569;line-height:1.55}.success-wallet-balance{display:grid;grid-template-columns:auto 1fr;gap:.2rem .65rem;align-items:center;padding:.85rem 1rem;border:1px solid #a7f3d0;border-radius:16px;color:#047857;background:#ffffffe6;text-align:left}.success-wallet-balance svg{grid-row:1 / 3}.success-wallet-balance span{color:#64748b;font-size:.78rem}.success-wallet-balance strong{font-size:1.15rem}.success-confirmed-at{margin:.75rem 0 1rem;color:#64748b;font-size:.76rem}.success-done-button{display:inline-flex;width:100%;min-height:48px;align-items:center;justify-content:center;gap:.5rem;border:0;border-radius:14px;color:#fff;background:linear-gradient(135deg,#10b981,#059669);font-weight:800;box-shadow:0 10px 24px #0596693d}.commission-confetti i{position:absolute;top:-14px;left:calc(7% * var(--x, 1));width:8px;height:14px;border-radius:3px;background:#f59e0b;animation:commission-confetti-fall 1.8s ease-out infinite}.commission-confetti i:nth-child(2n){background:#10b981;transform:rotate(35deg)}.commission-confetti i:nth-child(3n){background:#f43f5e}.commission-confetti i:nth-child(1){--x:1;animation-delay:.05s}.commission-confetti i:nth-child(2){--x:2;animation-delay:.3s}.commission-confetti i:nth-child(3){--x:3;animation-delay:.1s}.commission-confetti i:nth-child(4){--x:4;animation-delay:.55s}.commission-confetti i:nth-child(5){--x:5;animation-delay:.2s}.commission-confetti i:nth-child(6){--x:6;animation-delay:.7s}.commission-confetti i:nth-child(7){--x:7;animation-delay:.15s}.commission-confetti i:nth-child(8){--x:8;animation-delay:.45s}.commission-confetti i:nth-child(9){--x:9;animation-delay:.05s}.commission-confetti i:nth-child(10){--x:10;animation-delay:.6s}.commission-confetti i:nth-child(11){--x:11;animation-delay:.25s}.commission-confetti i:nth-child(12){--x:12;animation-delay:.4s}@keyframes commission-confetti-fall{0%{opacity:0;transform:translateY(-10px) rotate(0)}15%{opacity:1}to{opacity:0;transform:translateY(330px) rotate(420deg)}}@media(prefers-reduced-motion:reduce){.commission-confetti{display:none}}.income-loading-box,.income-empty-box{text-align:center;padding:2rem 1rem;color:#64748b;font-size:.85rem}.commission-list-section .income-empty-box{display:flex;min-height:230px;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.25rem;border:1px dashed #cbd5e1;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc)}.commission-list-section .income-empty-box strong{margin-bottom:6px;color:#1e293b;font-size:16px}.commission-list-section .income-empty-box p{max-width:300px;margin:0;line-height:1.55}.income-empty-icon{display:grid;width:54px;height:54px;place-items:center;margin-bottom:14px;border-radius:18px;color:#0d9488;background:#ccfbf1}.commission-reset-filter{min-height:42px;margin-top:16px;padding:0 16px;border:0;border-radius:12px;color:#fff;background:#0f766e;font-weight:700}.spinner{width:24px;height:24px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto .75rem}.income-textarea,.income-input{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:.65rem;font-size:.85rem;outline:none;font-family:inherit}.income-textarea:focus,.income-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.char-count{text-align:right;font-size:.75rem;margin-top:2px}.reward-penalty-page-v2{min-height:100vh;min-height:100dvh;width:100%;background:var(--page-background);padding-bottom:calc(var(--bottom-nav-height, 64px) + env(safe-area-inset-bottom,0px) + 32px);position:relative;overflow-x:hidden;box-sizing:border-box}.rp-main-body{padding:14px 16px 24px;max-width:540px;margin:0 auto;box-sizing:border-box}.rp-period-selector-bar{display:flex;align-items:center;justify-content:space-between;background:var(--card-background, #FFFFFF);border-radius:var(--card-radius, 16px);border:1px solid var(--border-color, #E2E8F0);box-shadow:0 4px 14px #0f172a0a;padding:6px 10px;margin-bottom:12px}.rp-period-nav-btn{width:40px;height:40px;min-height:40px;border-radius:10px;background:#f8fafc;border:1px solid #E2E8F0;color:var(--text-primary, #0F172A);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.rp-period-nav-btn:hover{background:#e2e8f0}.rp-period-display-text{font-size:14.5px;font-weight:700;color:var(--text-primary, #0F172A)}.rp-container{display:flex;flex-direction:column;gap:12px}.rp-tabs-header{display:flex;align-items:center;justify-content:space-between;background:var(--card-background);border-radius:var(--card-radius, 16px);border:1px solid var(--border-color);box-shadow:var(--card-shadow);padding:4px;gap:4px}.rp-tab-button{flex:1;text-align:center;background:transparent;border:none;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--text-secondary);padding:8px 6px;border-radius:var(--radius-sm, 8px);cursor:pointer;transition:all var(--duration-fast) var(--ease)}.rp-tab-button:hover{color:var(--text-primary)}.rp-tab-button.active{background:#0f172a;color:#fff;font-weight:700}.rp-items-list{display:flex;flex-direction:column;gap:10px}.rp-item-row{display:flex;flex-direction:column;background:var(--card-background, #FFFFFF);border-radius:var(--card-radius, 16px);border:1px solid var(--border-color, #F1F5F9);box-shadow:0 4px 14px #0f172a0a;transition:all var(--duration-fast, .15s) var(--ease);box-sizing:border-box;overflow:hidden}.rp-item-row.is-expanded{border-color:#cbd5e1;box-shadow:0 8px 24px #0f172a14}.rp-item-row.is-disputed-border{border-left:4px solid #F59E0B}.rp-item-main-clickable{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;gap:12px;cursor:pointer;width:100%;box-sizing:border-box;-webkit-user-select:none;user-select:none}.rp-item-left{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1}.rp-target-icon{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.rp-target-icon.reward{background:#ecfdf5;color:#059669;border:1px solid #A7F3D0}.rp-target-icon.penalty{background:#fef2f2;color:#dc2626;border:1px solid #FECACA}.rp-item-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.rp-amount-text{font-size:14.5px;font-weight:800;font-family:inherit;line-height:1.3}.rp-amount-text.reward{color:#059669}.rp-amount-text.penalty{color:#dc2626}.rp-title-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.rp-title-text{font-size:13.5px;font-weight:700;color:var(--text-primary, #0F172A);margin:0;line-height:1.35;word-break:break-word}.rp-decision-badge{font-size:10.5px;font-weight:700;background:#f1f5f9;color:#475569;padding:1px 6px;border-radius:4px;border:1px solid #E2E8F0}.rp-date-text{font-size:11.5px;color:var(--text-secondary, #64748B);margin:0}.rp-item-right{flex-shrink:0;display:flex;align-items:center;gap:6px}.rp-expand-icon{color:#94a3b8;display:flex;align-items:center}.rp-status-capsule{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full, 999px);font-size:11px;font-weight:700;white-space:nowrap}.status-approved,.status-applied{background:#ecfdf5;color:#047857;border:1px solid #A7F3D0}.status-pending{background:#fffbeb;color:#b45309;border:1px solid #FDE68A}.status-disputed{background:#fff7ed;color:#c2410c;border:1px solid #FFEDD5}.status-confirmed{background:#eff6ff;color:#1d4ed8;border:1px solid #BFDBFE}.status-rejected{background:#fef2f2;color:#b91c1c;border:1px solid #FECACA}.status-voided{background:#f1f5f9;color:#64748b;border:1px solid #E2E8F0}.rp-item-detail-drawer{padding:14px 16px 16px;background:#f8fafc;border-top:1px solid #F1F5F9;animation:fadeIn .15s ease-out}.rp-detail-grid{display:flex;flex-direction:column;gap:8px}.rp-detail-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;font-size:12.5px}.rp-detail-label{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary, #64748B);font-weight:600;flex-shrink:0}.rp-detail-value{color:var(--text-primary, #0F172A);font-weight:600;text-align:right;word-break:break-word}.rp-evidence-link{display:inline-flex;align-items:center;gap:5px;color:#2563eb;font-weight:700;text-decoration:none;font-size:12px}.rp-evidence-link:hover{text-decoration:underline}.rp-dispute-warning-box{display:flex;align-items:flex-start;gap:8px;background:#fffbeb;border:1px solid #FDE68A;color:#b45309;padding:10px 12px;border-radius:var(--radius-sm, 8px);font-size:12px;font-weight:600;margin-top:4px}.rp-empty-state,.rp-loading-state{text-align:center;padding:36px 16px;background:var(--card-background, #FFFFFF);border-radius:var(--card-radius, 16px);border:1px solid var(--border-color, #F1F5F9);color:var(--text-secondary, #64748B)}.rp-empty-state p,.rp-loading-state p{margin:0;font-size:13.5px}.rp-error-container{text-align:center;padding:24px 16px;background:#fef2f2;border-radius:var(--card-radius, 16px);border:1px solid #FECACA;color:#991b1b}.rp-error-text{margin:0 0 10px;font-size:13px;font-weight:500}.rp-retry-btn{min-height:44px;padding:8px 18px;background:#dc2626;color:#fff;border:none;border-radius:var(--radius-sm, 8px);font-size:13px;font-weight:700;cursor:pointer}.proposal-page-v2{min-height:100vh;min-height:100dvh;width:100%;background:#f8fafc;padding-bottom:96px;position:relative;overflow-x:hidden;box-sizing:border-box}.prop-main-body{padding:16px;position:relative;z-index:5}.prop-approvals-shortcut-card{background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;border-radius:16px;padding:16px;margin-bottom:20px;display:flex;flex-direction:column;gap:12px;box-shadow:0 4px 16px #0f172a1f}.prop-approvals-shortcut-title{font-size:14px;font-weight:700;color:#38bdf8;display:flex;align-items:center;gap:6px;margin-bottom:4px}.prop-approvals-shortcut-desc{font-size:12px;color:#94a3b8;line-height:1.5;margin:0}.btn-prop-goto-approvals{background:#0284c7;color:#fff;border:none;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;transition:background .15s ease}.btn-prop-goto-approvals:hover{background:#0369a1}.prop-3x3-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.prop-grid-card{background:#fff;border:1px solid #F1F5F9;border-radius:18px;padding:18px 8px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 4px 14px #0f172a0a;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.prop-grid-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0f172a14}.prop-card-icon-wrap{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;font-size:22px}.prop-icon-orange{background:#fff7ed;color:#f97316}.prop-icon-gold{background:#fefce8;color:#eab308}.prop-icon-blue{background:#eff6ff;color:#3b82f6}.prop-icon-purple{background:#faf5ff;color:#a855f7}.prop-icon-cyan{background:#ecfeff;color:#06b6d4}.prop-icon-indigo{background:#eef2ff;color:#6366f1}.prop-icon-amber{background:#fffbeb;color:#d97706}.prop-icon-red{background:#fef2f2;color:#ef4444}.prop-icon-teal{background:#f0fdfa;color:#14b8a6}.prop-card-label{font-size:13px;font-weight:700;color:#0f172a;margin:0;white-space:nowrap}.prop-history-section{background:#fff;border-radius:22px;padding:18px 16px 20px;box-shadow:0 10px 30px #0f172a0f;border:1px solid #F1F5F9}.prop-history-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.prop-history-title{font-size:15px;font-weight:700;color:#0f172a;margin:0}.prop-history-see-all-link{background:transparent;border:none;font-size:13px;font-weight:600;color:#3b82f6;cursor:pointer}.prop-history-list{display:flex;flex-direction:column;gap:10px}.prop-history-row{display:flex;align-items:center;justify-content:space-between;padding:12px 10px;background:#f8fafc;border:1px solid #F1F5F9;border-radius:14px;cursor:pointer;transition:background-color .12s ease}.prop-history-row:hover{background:#f1f5f9}.prop-history-left{display:flex;flex-direction:column;min-width:0}.prop-history-item-title{font-size:13.5px;font-weight:700;color:#0f172a;margin:0 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prop-history-item-date{font-size:11.5px;color:#64748b;margin:0}.prop-history-right{flex-shrink:0}.prop-status-pill{padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:700}.prop-status-pending{background:#fef3c7;color:#d97706}.prop-status-approved{background:#ecfdf5;color:#10b981}.prop-status-rejected{background:#fee2e2;color:#ef4444}.proposal-page-container{max-width:540px;margin:0 auto;min-height:100vh;min-height:100dvh;background-color:var(--page-background);padding-bottom:calc(var(--bottom-nav-height, 64px) + env(safe-area-inset-bottom,0px) + 32px);box-sizing:border-box}.proposal-approval-card-actions{display:flex;gap:10px;margin-top:12px}.proposal-approval-card-actions .btn-approve{flex:1;min-height:40px;background:#059669;color:#fff;border:none;border-radius:var(--radius-sm, 10px);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:background-color var(--duration-fast) var(--ease)}.proposal-approval-card-actions .btn-approve:hover{background:#047857}.proposal-approval-card-actions .btn-reject{flex:1;min-height:40px;background:#ef4444;color:#fff;border:none;border-radius:var(--radius-sm, 10px);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:background-color var(--duration-fast) var(--ease)}.proposal-approval-card-actions .btn-reject:hover{background:#dc2626}.proposal-create-topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:minmax(92px,1fr) auto minmax(92px,1fr);align-items:center;min-height:68px;padding:10px 16px;background:#fffffff5;border-bottom:1px solid #e2e8f0;box-shadow:0 5px 18px #0f172a0f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.proposal-back-button{justify-self:start;display:inline-flex;align-items:center;gap:3px;min-height:42px;padding:0 12px 0 8px;border:1px solid #dbe4ee;border-radius:14px;background:#fff;color:#183153;font:inherit;font-size:.82rem;font-weight:750;cursor:pointer;box-shadow:0 3px 10px #0f172a0f}.proposal-back-button:active{transform:scale(.97);background:#f0fdfa;border-color:#5eead4}.proposal-back-button:focus-visible{outline:3px solid rgba(20,184,166,.24);outline-offset:2px}.proposal-create-heading{display:grid;gap:2px;text-align:center;color:#102a4c}.proposal-create-heading strong{font-size:.95rem}.proposal-create-heading small{color:#64748b;font-size:.68rem;white-space:nowrap}.proposal-topbar-spacer{min-width:92px}.proposal-hero-back-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:13px;background:#ffffff1c;color:#fff;cursor:pointer}.proposal-approval-list{display:grid;gap:12px;padding:16px}.proposal-approval-card{padding:16px;border:1px solid #e2e8f0;border-radius:18px;background:#fff;box-shadow:0 5px 16px #0f172a0d}.proposal-approval-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.proposal-approval-code{color:#64748b;font-size:.72rem;font-weight:750}.proposal-approval-title{margin:0 0 7px;color:#102a4c;font-size:.93rem;font-weight:800;line-height:1.4;cursor:pointer}.proposal-approval-requester{margin:0 0 10px;color:#64748b;font-size:.76rem;line-height:1.45}.proposal-approval-requester strong{color:#1e293b}.proposal-approval-summary{margin-bottom:12px;padding:11px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;color:#475569;font-size:.78rem;line-height:1.5}.proposal-approval-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.proposal-decision-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:42px;border-radius:12px;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.proposal-decision-button.reject{border:1px solid #fecaca;background:#fff7f7;color:#be123c}.proposal-decision-button.approve{border:1px solid #0f9f8f;background:#0f9f8f;color:#fff;box-shadow:0 5px 12px #0f9f8f33}.proposal-approval-empty{display:grid;justify-items:center;gap:7px;margin:18px 16px;padding:30px 20px;border:1px solid #dbeafe;border-radius:18px;background:#fff;color:#0f9f8f;text-align:center}.proposal-approval-empty h4{margin:2px 0 0;color:#183153;font-size:1rem}.proposal-approval-empty p{margin:0;color:#64748b;font-size:.78rem;line-height:1.5}@media(max-width:380px){.proposal-create-topbar{grid-template-columns:auto 1fr auto;padding-inline:10px}.proposal-back-button span{display:none}.proposal-back-button{width:42px;justify-content:center;padding:0}.proposal-topbar-spacer{min-width:42px}}.proposal-hero-header{background:linear-gradient(135deg,#0d1b2a,#1e1b4b 60%,#311042);color:#fff;padding:1.25rem 1.25rem 1.75rem;border-bottom-left-radius:24px;border-bottom-right-radius:24px;box-shadow:0 10px 25px -5px #0f172a4d;position:relative}.proposal-top-nav-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.85rem}.proposal-top-nav-row .page-title-badge{font-size:1.15rem;font-weight:700;color:#fff}.btn-header-action{background:#ffffff26;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:9999px;padding:.35rem .75rem;font-size:.8rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:4px;transition:background .2s ease}.btn-header-action:hover{background:#ffffff40}.proposal-role-guide{display:grid;gap:9px;padding:14px 16px 0}.proposal-role-guide>div,.proposal-role-guide>button{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;width:100%;padding:12px;border:1px solid #fecaca;border-radius:14px;color:#b91c1c;background:#fff7f7;text-align:left}.proposal-role-guide>button{cursor:pointer}.proposal-role-guide span{display:grid;gap:2px}.proposal-role-guide strong{font-size:13px}.proposal-role-guide small{color:#64748b;font-size:10px;line-height:1.45}.leave-balance-card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:.85rem 1rem;margin-top:.5rem;color:#fff}.leave-balance-title-row{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:#fffc;margin-bottom:.4rem}.leave-balance-grid{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;gap:.5rem}.balance-item .lbl{font-size:.72rem;color:#ffffffbf;display:block}.balance-item .val{font-size:1.25rem;font-weight:800;color:#fff}.balance-item.highlight .val{color:#38bdf8}.catalog-section-container{padding:1.25rem 1rem .5rem}.section-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.85rem}.section-title-row h3{font-size:1rem;font-weight:700;color:#0f172a;margin:0}.catalog-9-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.catalog-card-btn{background:#fff;border-radius:16px;border:1px solid #f1f5f9;box-shadow:0 2px 8px #0000000a;padding:1rem .5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);text-align:center;min-height:98px}.catalog-card-btn:hover{transform:translateY(-2px);box-shadow:0 6px 14px #00000014;border-color:#cbd5e1}.catalog-icon-box{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:.5rem;font-size:1.2rem}.catalog-icon-box.icon-orange{background:#fff7ed;color:#ea580c}.catalog-icon-box.icon-yellow{background:#fefce8;color:#ca8a04}.catalog-icon-box.icon-blue{background:#eff6ff;color:#2563eb}.catalog-icon-box.icon-purple{background:#faf5ff;color:#9333ea}.catalog-icon-box.icon-cyan{background:#ecfeff;color:#0891b2}.catalog-icon-box.icon-indigo{background:#e0e7ff;color:#4f46e5}.catalog-icon-box.icon-amber{background:#fffbeb;color:#d97706}.catalog-icon-box.icon-red{background:#fef2f2;color:#dc2626}.catalog-icon-box.icon-teal{background:#f0fdf4;color:#0d9488}.catalog-card-btn .catalog-label{font-size:.8rem;font-weight:600;color:#1e293b;line-height:1.2}.history-section-container{padding:1rem}.history-tabs-nav{display:flex;overflow-x:auto;gap:.4rem;padding-bottom:.5rem;margin-bottom:.75rem;scrollbar-width:none}.history-tabs-nav::-webkit-scrollbar{display:none}.history-tab-pill{background:#fff;border:1px solid #e2e8f0;border-radius:9999px;padding:.35rem .75rem;font-size:.75rem;font-weight:600;color:#64748b;cursor:pointer;white-space:nowrap;transition:all .15s ease}.history-tab-pill.active{background:#0f172a;color:#fff;border-color:#0f172a}.proposal-item-card{background:#fff;border-radius:16px;padding:.95rem 1rem;margin-bottom:.65rem;border:1px solid #f1f5f9;box-shadow:0 2px 6px #00000008;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.proposal-item-card:hover{transform:translateY(-1px);box-shadow:0 4px 10px #0000000f}.proposal-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.proposal-code-badge{font-size:.72rem;font-weight:700;color:#64748b}.proposal-title-text{font-size:.88rem;font-weight:700;color:#0f172a;margin:.15rem 0 .35rem}.proposal-meta-row{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:#64748b}.status-badge{font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:9999px;display:inline-flex;align-items:center;gap:3px}.status-badge.pending{background:#fffbeb;color:#d97706;border:1px solid #fde68a}.status-badge.approved{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}.status-badge.rejected{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.status-badge.withdrawn{background:#f1f5f9;color:#64748b;border:1px solid #cbd5e1}.stepper-nav-bar{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin:1rem 0 1.25rem;position:relative}.step-circle-node{width:32px;height:32px;border-radius:50%;background:#e2e8f0;color:#64748b;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;z-index:2;transition:all .2s ease}.step-circle-node.active{background:#f43f5e;color:#fff;box-shadow:0 2px 8px #f43f5e59}.step-circle-node.completed{background:#10b981;color:#fff}.step-connector-line{position:absolute;top:15px;left:20%;right:20%;height:2px;background:#e2e8f0;z-index:1}.dynamic-form-box{background:#fff;border-radius:20px;padding:1.25rem;margin:0 1rem 1.25rem;box-shadow:0 2px 10px #0000000a;border:1px solid #f1f5f9}.form-field-group{margin-bottom:1rem}.form-field-label{display:block;font-size:.8rem;font-weight:600;color:#475569;margin-bottom:.35rem}.form-field-label .required-star{color:#ef4444;margin-left:2px}.form-input-text,.form-select-box,.form-textarea-box{width:100%;border:1.5px solid #e2e8f0;border-radius:12px;padding:.65rem .85rem;font-size:.85rem;outline:none;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease;background:#fff}.form-input-text:focus,.form-select-box:focus,.form-textarea-box:focus{border-color:#f43f5e;box-shadow:0 0 0 3px #f43f5e1f}.btn-form-submit-pink{width:100%;background:#f43f5e;color:#fff;border:none;border-radius:14px;padding:.85rem 1rem;font-size:.95rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;margin-top:1.25rem;box-shadow:0 4px 12px #f43f5e40;transition:background .15s ease,transform .1s ease}.btn-form-submit-pink:hover{background:#e11d48;transform:translateY(-1px)}.btn-form-submit-pink:disabled{opacity:.5;cursor:not-allowed}.timeline-card-container{background:#fff;border-radius:18px;padding:1.25rem;margin:1rem;border:1px solid #f1f5f9;box-shadow:0 2px 8px #00000008}.timeline-step-row{display:flex;gap:.85rem;position:relative;padding-bottom:1.25rem}.timeline-step-row:last-child{padding-bottom:0}.timeline-step-row:before{content:"";position:absolute;top:24px;left:11px;bottom:0;width:2px;background:#e2e8f0}.timeline-step-row:last-child:before{display:none}.timeline-step-icon{width:24px;height:24px;border-radius:50%;background:#e2e8f0;color:#64748b;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:2}.timeline-step-icon.done{background:#10b981;color:#fff}.timeline-step-icon.pending{background:#f59e0b;color:#fff}.timeline-step-icon.rejected{background:#ef4444;color:#fff}.timeline-step-content{flex:1}.timeline-step-name{font-size:.85rem;font-weight:700;color:#0f172a;margin:0}.timeline-step-approver{font-size:.78rem;color:#64748b;margin-top:2px}.timeline-step-note{font-size:.78rem;background:#f8fafc;border-left:2px solid #cbd5e1;padding:.35rem .5rem;margin-top:.35rem;color:#334155;border-radius:0 6px 6px 0}.timeline-step-acted-at{font-size:11px;color:var(--muted);margin-top:4px}.proposal-detail-page{background-color:var(--page-background);min-height:100vh;padding-bottom:calc(var(--bottom-nav-height, 64px) + env(safe-area-inset-bottom,0px) + 32px)}.proposal-detail-main-body{padding:14px 16px;display:flex;flex-direction:column;gap:14px;max-width:520px;margin:0 auto}.proposal-detail-card{background:var(--card-background);border-radius:var(--card-radius);border:1px solid var(--border-color);box-shadow:var(--card-shadow);padding:16px;display:flex;flex-direction:column;gap:12px;overflow-wrap:anywhere;word-break:break-word}.proposal-detail-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.proposal-detail-code{font-size:12px;font-weight:700;color:var(--text-secondary)}.proposal-detail-title{font-size:16px;font-weight:700;color:var(--text-primary);margin:0;line-height:1.35;overflow-wrap:anywhere;word-break:break-word}.proposal-category-pill{display:inline-flex;align-items:center;gap:5px;background:#eff6ff;color:#1d4ed8;border:1px solid #DBEAFE;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:700;width:fit-content}.proposal-detail-summary{display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:1px solid var(--border-color);font-size:12.5px;color:var(--text-secondary)}.summary-item-row{display:flex;align-items:center;gap:8px;line-height:1.4;overflow-wrap:anywhere;word-break:break-word}.summary-icon{color:var(--text-secondary);flex-shrink:0}.timeline-step-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.timeline-step-badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;background:#f1f5f9;color:#64748b}.timeline-step-badge.done{background:#dcfce7;color:#15803d}.timeline-step-badge.pending{background:#fef3c7;color:#b45309}.timeline-step-badge.rejected{background:#fee2e2;color:#b91c1c}.proposal-sync-error-box{display:flex;align-items:flex-start;gap:6px;background:#fef2f2;border:1px solid #FECACA;color:#b91c1c;font-size:12px;padding:8px 10px;border-radius:8px;overflow-wrap:anywhere;word-break:break-word}.proposal-detail-summary strong{color:var(--text-primary)}.proposal-detail-section-title{font-size:14px;font-weight:700;color:var(--text-primary);margin:0;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.proposal-detail-fields{display:flex;flex-direction:column;gap:8px}.proposal-detail-field-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dashed var(--border-color);font-size:12.5px}.proposal-detail-field-row:last-child{border-bottom:none}.proposal-detail-field-label{color:var(--text-secondary);flex-shrink:0;min-width:110px;font-weight:500}.proposal-detail-field-val{color:var(--text-primary);font-weight:600;text-align:right;overflow-wrap:anywhere;word-break:break-word}.proposal-detail-workflow{background:var(--card-background);border-radius:var(--card-radius);border:1px solid var(--border-color);box-shadow:var(--card-shadow);padding:16px}.proposal-detail-sync{background:var(--card-background);border-radius:var(--card-radius);border:1px solid var(--border-color);box-shadow:var(--card-shadow);padding:16px;display:flex;flex-direction:column;gap:10px}.proposal-detail-sync-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.proposal-detail-sync-label{font-size:12.5px;font-weight:700;color:var(--text-primary)}.proposal-detail-sync-error{font-size:12px;color:var(--danger-color);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:8px;padding:8px 12px;margin:0;overflow-wrap:anywhere;word-break:break-word}.proposal-detail-sync-retry-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:44px;background:var(--warning-color);color:#fff;font-weight:700;font-size:13px;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:background-color var(--duration-fast) var(--ease)}.proposal-detail-sync-retry-btn:hover{background:#d97706}.proposal-detail-actions{display:flex;gap:10px;margin-top:4px}.proposal-action-btn{flex:1;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13.5px;font-weight:700;border-radius:var(--radius-sm);cursor:pointer;border:none;transition:transform var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease)}.proposal-action-btn:active{transform:scale(.98)}.proposal-action-btn.withdraw{width:100%;background:#e2e8f0;color:#334155}.proposal-action-btn.withdraw:hover{background:#cbd5e1}.proposal-action-btn.reject{background:#fef2f2;color:var(--danger-color);border:1px solid var(--danger-border)}.proposal-action-btn.reject:hover{background:#fee2e2}.proposal-action-btn.approve{background:var(--success-color);color:#fff;box-shadow:0 4px 12px #10b98140}.proposal-action-btn.approve:hover{background:#059669}.proposal-modal-overlay{position:fixed;inset:0;background:#070d1eb3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:1200;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}.proposal-modal-container{background:var(--card-background);border-radius:20px;width:100%;max-width:440px;max-height:90dvh;overflow-y:auto;padding:20px;box-sizing:border-box;box-shadow:0 20px 50px #0000004d;display:flex;flex-direction:column;gap:14px}.proposal-modal-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.proposal-modal-title-wrap{display:flex;align-items:center;gap:8px}.proposal-modal-title-wrap h3{font-size:16px;font-weight:700;color:var(--text-primary);margin:0}.proposal-modal-close-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);min-width:36px;min-height:36px}.proposal-modal-close-btn:hover{background:var(--page-background)}.proposal-modal-subject{font-size:12.5px;color:var(--text-secondary);margin:0;line-height:1.4;overflow-wrap:anywhere;word-break:break-word}.proposal-modal-subject strong{color:var(--text-primary)}.proposal-modal-form{display:flex;flex-direction:column;gap:12px}.proposal-modal-label{display:block;font-size:12px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.proposal-modal-textarea{width:100%;box-sizing:border-box;border:1px solid var(--border-color);border-radius:12px;padding:10px 12px;font-size:13px;font-family:inherit;resize:vertical;min-height:80px;background:var(--card-background);color:var(--text-primary);transition:border-color var(--duration-fast) var(--ease)}.proposal-modal-textarea:focus{outline:none;border-color:var(--primary-action);box-shadow:0 0 0 3px #ef4d8d26}.proposal-modal-error{color:var(--danger-color);font-size:12px;margin:4px 0 0;font-weight:600}.proposal-modal-counter{font-size:11px;color:#94a3b8;text-align:right;margin:2px 0 0}.proposal-modal-footer{display:flex;gap:10px;margin-top:4px}.proposal-modal-footer-btn{flex:1;min-height:44px;font-size:13.5px;font-weight:700;border-radius:var(--radius-sm);cursor:pointer;border:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}.proposal-modal-footer-btn.cancel{background:var(--card-background);border:1px solid var(--border-color);color:var(--text-secondary)}.proposal-modal-footer-btn.cancel:hover{background:var(--page-background)}.proposal-modal-footer-btn.approve{background:var(--success-color);color:#fff}.proposal-modal-footer-btn.approve:hover{background:#059669}.proposal-modal-footer-btn.reject{background:var(--danger-color);color:#fff}.proposal-modal-footer-btn.reject:hover{background:#dc2626}.proposal-modal-footer-btn:disabled{opacity:.5;cursor:not-allowed}.create-proposal-page-v2{min-height:100vh;min-height:100dvh;width:100%;background:var(--page-background);padding-bottom:calc(var(--bottom-nav-height, 64px) + env(safe-area-inset-bottom,0px) + 32px);position:relative;overflow-x:hidden;box-sizing:border-box}.create-prop-main-body{padding:14px 16px 24px;max-width:540px;margin:0 auto;box-sizing:border-box}.create-prop-card-container{background:var(--card-background);border-radius:var(--card-radius, 20px);padding:20px 16px 24px;box-shadow:var(--card-shadow);border:1px solid var(--border-color);box-sizing:border-box}.create-prop-stepper{display:flex;align-items:center;justify-content:center;margin-bottom:24px;position:relative;padding:0 10px}.stepper-step-node{display:flex;flex-direction:column;align-items:center;position:relative;z-index:2}.stepper-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border:2px solid #CBD5E1;color:var(--text-secondary);font-size:13px;font-weight:700;transition:all var(--duration-fast) var(--ease)}.stepper-step-node.active .stepper-circle{background:var(--primary-action, #FF2D55);border-color:var(--primary-action, #FF2D55);color:#fff}.stepper-label{font-size:11px;color:var(--text-secondary);font-weight:600;margin-top:4px}.stepper-step-node.active .stepper-label{color:var(--text-primary);font-weight:700}.stepper-line{flex:1;height:2px;background:#e2e8f0;margin:0 8px 18px;transition:background-color var(--duration-fast) var(--ease)}.stepper-line.active{background:var(--primary-action, #FF2D55)}.create-prop-error-banner{background:#fef2f2;border:1px solid #FECACA;color:#b91c1c;padding:10px 14px;border-radius:var(--radius-sm, 10px);font-size:13px;margin-bottom:16px}.create-prop-form{display:flex;flex-direction:column;gap:14px}.prop-form-group{display:flex;flex-direction:column;gap:5px}.prop-form-label{font-size:12.5px;font-weight:700;color:var(--text-primary)}.prop-form-input-box{display:flex;align-items:center;background:#f8fafc;border:1px solid var(--border-color);border-radius:var(--radius-sm, 10px);padding:0 12px;min-height:44px}.prop-form-input{flex:1;border:none;background:transparent;outline:none;font-family:inherit;font-size:13.5px;color:var(--text-primary)}.prop-form-select{flex:1;border:none;background:transparent;outline:none;font-family:inherit;font-size:13.5px;color:var(--text-primary);appearance:none}.prop-form-suffix{font-size:12px;font-weight:700;color:var(--text-secondary)}.prop-form-textarea{width:100%;box-sizing:border-box;background:#f8fafc;border:1px solid var(--border-color);border-radius:var(--radius-sm, 10px);padding:10px 12px;font-family:inherit;font-size:13.5px;color:var(--text-primary);outline:none;resize:vertical}.create-prop-review-box{background:#f8fafc;border:1px solid var(--border-color);border-radius:var(--radius-md, 12px);padding:14px;display:flex;flex-direction:column;gap:8px}.review-title{font-size:14px;font-weight:700;color:var(--text-primary);margin:0 0 6px}.review-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-size:13px}.review-lbl{color:var(--text-secondary)}.review-val{color:var(--text-primary);text-align:right;word-break:break-word}.review-val.text-primary{color:var(--primary-action, #FF2D55)}.create-prop-btn-row{display:flex;gap:10px;margin-top:10px}.btn-create-prop-prev{flex:1;min-height:44px;background:#e2e8f0;color:var(--text-primary);border:none;border-radius:var(--radius-sm, 10px);font-size:13.5px;font-weight:700;cursor:pointer}.btn-create-prop-next{flex:2;min-height:44px;background:var(--primary-action, #FF2D55);color:#fff;border:none;border-radius:var(--radius-sm, 10px);font-size:13.5px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #ff2d554d}.btn-create-prop-next:disabled{opacity:.65;cursor:not-allowed}.prop-quick-amounts-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.btn-quick-amount{flex:1 1 calc(25% - 8px);min-width:70px;min-height:36px;background:#f1f5f9;border:1px solid var(--border-color);border-radius:var(--radius-sm, 10px);color:var(--text-primary);font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px 8px;box-sizing:border-box;transition:all var(--duration-fast) var(--ease)}.btn-quick-amount:hover{background:#e2e8f0;border-color:#cbd5e1}.btn-quick-amount.active{background:var(--primary-action, #FF2D55);border-color:var(--primary-action, #FF2D55);color:#fff;box-shadow:0 2px 8px #ff2d5540}.prop-bank-card{display:flex;align-items:center;gap:12px;background:#f0fdf4;border:1px solid #BBF7D0;border-radius:var(--radius-sm, 10px);padding:12px;box-sizing:border-box}.prop-bank-icon-wrap{width:40px;height:40px;border-radius:10px;background:#dcfce7;color:#16a34a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.prop-bank-details{flex:1;display:flex;flex-direction:column;gap:2px}.prop-bank-line1{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-primary)}.prop-bank-name{font-weight:700}.prop-bank-account{font-weight:700;color:#15803d;background:#dcfce7;padding:2px 6px;border-radius:6px;font-size:12px}.prop-bank-owner{font-size:11.5px;color:var(--text-secondary)}.prop-bank-tag{font-size:10px;font-weight:700;color:#15803d;text-transform:uppercase;letter-spacing:.5px}.btn-bank-change{background:none;border:none;color:#2563eb;font-size:11.5px;font-weight:600;cursor:pointer;padding:0;text-align:left;margin-top:4px}.btn-bank-change:hover{text-decoration:underline}.prop-bank-warning{display:flex;align-items:flex-start;gap:10px;background:#fffbeb;border:1px solid #FDE68A;border-radius:var(--radius-sm, 10px);padding:10px 12px;margin-bottom:8px;color:#92400e;font-size:12px;line-height:1.4}.prop-bank-warning-icon{color:#d97706;flex-shrink:0;margin-top:2px}.prop-bank-warning-body{display:flex;flex-direction:column;gap:4px}.btn-bank-profile-link{display:inline-flex;align-items:center;gap:6px;background:#fef3c7;border:1px solid #FCD34D;color:#b45309;font-size:12px;font-weight:700;padding:6px 12px;border-radius:8px;cursor:pointer;width:fit-content;min-height:36px;transition:all var(--duration-fast) var(--ease)}.btn-bank-profile-link:hover{background:#fde68a}.prop-amount-hint{font-size:11.5px;color:var(--primary-action, #FF2D55);font-weight:600;margin:4px 0 0 2px}.prop-success-icon-wrap{width:64px;height:64px;border-radius:50%;background:#ecfdf5;border:2px solid #A7F3D0;display:flex;align-items:center;justify-content:center}.prop-success-info-box{background:#f8fafc;border:1px solid var(--border-color);border-radius:var(--radius-md, 12px);padding:14px 16px;display:flex;flex-direction:column;gap:8px;text-align:left}.notifications-page-v2{min-height:100vh;min-height:100dvh;width:100%;background:var(--page-background);padding-bottom:calc(var(--bottom-nav-height, 64px) + env(safe-area-inset-bottom,0px) + 32px);position:relative;overflow-x:hidden;box-sizing:border-box}.noti-header-action-btn{width:40px;height:40px;min-width:40px;min-height:40px;border-radius:var(--radius-full);background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:background-color var(--duration-fast) var(--ease)}.noti-header-action-btn:hover{background:#ffffff38}.noti-nav-bell-dot{position:absolute;top:8px;right:8px;width:7px;height:7px;border-radius:50%;background:var(--primary-action, #FF2D55)}.noti-main-body{padding:14px 16px 24px;max-width:540px;margin:0 auto;display:flex;flex-direction:column;gap:12px;box-sizing:border-box}.noti-summary-bar{display:flex;align-items:center;justify-content:space-between;padding:4px 2px}.noti-summary-title{font-size:14px;font-weight:700;color:var(--text-primary)}.noti-unread-tag{font-size:11.5px;font-weight:700;color:var(--primary-action, #EF4444);background:#fee2e2;padding:3px 8px;border-radius:var(--radius-full);border:1px solid #FECACA}.noti-filter-pills-row{display:flex;gap:8px}.noti-pill-btn{padding:6px 14px;border-radius:var(--radius-full);background:#e2e8f0;border:1px solid transparent;color:var(--text-secondary);font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:all var(--duration-fast) var(--ease)}.noti-pill-btn:hover{background:#cbd5e1}.noti-pill-btn.active{background:var(--primary-action, #FF2D55);color:#fff;font-weight:700}.noti-items-list{display:flex;flex-direction:column;gap:10px}.noti-item-card{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;background:var(--card-background);border-radius:var(--card-radius, 16px);border:1px solid var(--border-color);box-shadow:var(--card-shadow);cursor:pointer;transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease);box-sizing:border-box}.noti-item-card:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0f172a14}.noti-item-card.unread{border-left:3.5px solid var(--primary-action, #FF2D55)}.noti-item-left{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1}.noti-icon-circle{width:38px;height:38px;border-radius:var(--radius-sm, 10px);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.noti-icon-red{background:#fee2e2;color:#ef4444}.noti-icon-blue{background:#eff6ff;color:#3b82f6}.noti-icon-green{background:#ecfdf5;color:#10b981}.noti-icon-gold{background:#fef3c7;color:#d97706}.noti-icon-indigo{background:#eef2ff;color:#6366f1}.noti-item-content{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.noti-item-title{font-size:13.5px;font-weight:700;color:var(--text-primary);margin:0;line-height:1.35;word-break:break-word}.noti-item-body{font-size:12.5px;color:var(--text-secondary);margin:0;line-height:1.4;word-break:break-word}.noti-item-date{font-size:11px;color:#94a3b8;margin-top:2px}.noti-item-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.noti-dot-unread{width:8px;height:8px;border-radius:50%;background:var(--primary-action, #FF2D55)}.noti-state-box{text-align:center;padding:40px 16px;background:var(--card-background);border-radius:var(--card-radius, 16px);border:1px solid var(--border-color);color:var(--text-secondary)}.noti-state-box p{margin:0;font-size:13.5px}.noti-state-error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.noti-retry-btn{margin-top:10px;padding:6px 14px;background:#ef4444;color:#fff;border:none;border-radius:var(--radius-sm, 8px);font-size:12.5px;font-weight:700;cursor:pointer}.appointment-sheet-overlay{position:fixed;inset:0;z-index:900;display:flex;align-items:flex-end;justify-content:center;padding:0;background:#0812268c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.appointment-sheet{width:100%;max-width:540px;max-height:min(78dvh,680px);overflow-y:auto;padding:10px 18px calc(18px + env(safe-area-inset-bottom,0px));border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -18px 50px #0f172a3d;overscroll-behavior:contain;touch-action:pan-y}.appointment-sheet-handle{width:44px;height:5px;margin:0 auto 14px;border-radius:999px;background:#cbd5e1}.appointment-sheet header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.appointment-sheet header span{color:#7c3aed;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.appointment-sheet h2{margin:5px 0 0;color:#0f172a;font-size:20px;line-height:1.3}.appointment-sheet header button{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border:0;border-radius:50%;color:#475569;background:#f1f5f9}.appointment-sheet-status{display:inline-flex;margin:14px 0;padding:6px 11px;border:1px solid #a7f3d0;border-radius:999px;color:#047857;background:#ecfdf5;font-size:12px;font-weight:800}.appointment-sheet dl{display:grid;gap:0;margin:0;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden}.appointment-sheet dl div{display:grid;grid-template-columns:minmax(105px,.8fr) minmax(0,1.2fr);gap:12px;padding:13px 14px;border-bottom:1px solid #eef2f7}.appointment-sheet dl div:last-child{border-bottom:0}.appointment-sheet dt{display:flex;align-items:center;gap:6px;color:#64748b;font-size:12px}.appointment-sheet dd{min-width:0;margin:0;color:#172033;font-size:13px;font-weight:700;text-align:right;overflow-wrap:anywhere}.appointment-sheet-note{margin:14px 2px;color:#64748b;font-size:11px;line-height:1.5}.appointment-sheet>a{display:flex;min-height:48px;align-items:center;justify-content:center;gap:8px;border-radius:14px;color:#fff;background:#0f766e;font-size:14px;font-weight:800}@media(min-width:640px){.appointment-sheet-overlay{align-items:center;padding:20px}.appointment-sheet{border-radius:24px}}.tasks-page-v2{min-height:100vh;min-height:100dvh;width:100%;background:var(--page-background);padding-bottom:calc(var(--bottom-nav-height, 64px) + env(safe-area-inset-bottom,0px) + 32px);position:relative;overflow-x:hidden;box-sizing:border-box}.tasks-main-body{padding:14px 16px 24px;max-width:540px;margin:0 auto;display:flex;flex-direction:column;gap:12px;box-sizing:border-box}.tasks-status-tabs{display:flex;align-items:center;justify-content:space-between;background:var(--card-background);border-radius:var(--card-radius, 16px);border:1px solid var(--border-color);box-shadow:var(--card-shadow);padding:4px;gap:4px}.tasks-status-tab-item{flex:1;text-align:center;background:transparent;border:none;font-family:inherit;font-size:13px;font-weight:600;color:var(--text-secondary);padding:8px 6px;border-radius:var(--radius-sm, 8px);cursor:pointer;position:relative;transition:all var(--duration-fast) var(--ease)}.tasks-status-tab-item:hover{color:var(--text-primary)}.tasks-status-tab-item.active{background:#0f172a;color:#fff;font-weight:700}.tasks-sub-toolbar{display:flex;flex-direction:column;gap:8px}.tasks-search-box{display:flex;align-items:center;gap:8px;background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-md, 12px);padding:8px 12px;box-shadow:0 1px 3px #0f172a0a}.tasks-search-box input{flex:1;background:transparent;border:none;outline:none;font-family:inherit;font-size:13px;color:var(--text-primary)}.tasks-search-box input::placeholder{color:var(--text-muted, #94A3B8)}.tasks-time-filter-row{display:flex;align-items:center;background:#f1f5f9;border-radius:var(--radius-sm, 8px);padding:2px;gap:2px;overflow-x:auto;scrollbar-width:none}.tasks-time-filter-row::-webkit-scrollbar{display:none}.time-filter-btn{flex:1;min-width:fit-content;text-align:center;background:transparent;border:none;font-family:inherit;font-size:11.5px;font-weight:600;color:#64748b;padding:5px 8px;border-radius:6px;cursor:pointer;white-space:nowrap;transition:all var(--duration-fast) var(--ease)}.time-filter-btn:hover{color:#1e293b}.time-filter-btn.active{background:#fff;color:#0f172a;font-weight:700;box-shadow:0 1px 2px #0000000f}.tasks-sub-filter-pills{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px 0}.tasks-sub-filter-pills::-webkit-scrollbar{display:none}.sub-pill-btn{padding:5px 12px;border-radius:var(--radius-full, 999px);background:#e2e8f0;border:1px solid transparent;color:#475569;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all var(--duration-fast) var(--ease)}.sub-pill-btn:hover{background:#cbd5e1}.sub-pill-btn.active{background:var(--primary-action, #FF2D55);color:#fff;font-weight:700}.tasks-items-list{display:flex;flex-direction:column;gap:10px}.task-item-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--card-background);border-radius:var(--card-radius, 16px);border:1px solid var(--border-color);box-shadow:var(--card-shadow);width:100%;text-align:left;cursor:pointer;transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease);box-sizing:border-box}.task-item-row:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0f172a14}.task-item-row:active{transform:scale(.99)}.task-item-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.task-item-icon-wrap{width:38px;height:38px;border-radius:var(--radius-sm, 10px);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.task-icon-marketing{background:#fef2f2;color:#ef4444}.task-icon-vip{background:#eff6ff;color:#3b82f6}.task-icon-sales{background:#fff7ed;color:#f97316}.task-icon-training{background:#f0fdf4;color:#10b981}.task-icon-crm{background:#f5f3ff;color:#8b5cf6}.task-item-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.task-item-meta-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.task-source-tag{font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;letter-spacing:.2px}.source-crm{background:#f3e8ff;color:#7e22ce}.source-care{background:#eff6ff;color:#2563eb}.source-personal{background:#fef3c7;color:#b45309}.source-assigned{background:#e2e8f0;color:#475569}.task-customer-tag{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;color:#64748b;background:#f8fafc;padding:1px 6px;border-radius:4px;border:1px solid #E2E8F0}.task-item-title{font-size:13.5px;font-weight:700;color:var(--text-primary);margin:0;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-item-due{display:flex;align-items:center;gap:4px;font-size:11.5px;color:var(--text-secondary);margin:0}.meta-time-icon{color:#94a3b8;flex-shrink:0}.task-item-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.task-priority-badge{padding:3px 9px;border-radius:var(--radius-full, 999px);font-size:11px;font-weight:700;letter-spacing:-.1px}.priority-important{background:#fee2e2;color:#ef4444;border:1px solid #FECACA}.priority-normal{background:#eff6ff;color:#3b82f6;border:1px solid #BFDBFE}.priority-low{background:#ecfdf5;color:#10b981;border:1px solid #A7F3D0}.tasks-empty-state{text-align:center;padding:40px 16px;background:var(--card-background);border-radius:var(--card-radius, 16px);border:1px solid var(--border-color);color:var(--text-secondary)}.tasks-empty-state p{margin:0;font-size:13.5px}.tasks-fab-create{position:fixed;bottom:calc(var(--floating-button-bottom, 78px) + env(safe-area-inset-bottom,0px));left:max(18px,calc((100vw - 1180px)/2));width:52px;height:52px;min-width:52px;min-height:52px;border-radius:var(--radius-full);background:var(--primary-action, #FF2D55);color:#fff;border:2px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #ff2d5566;cursor:pointer;z-index:25;transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease)}.tasks-fab-create:hover{background:var(--primary-action-hover, #E11D48);transform:scale(1.06);box-shadow:0 8px 22px #ff2d5580}.tasks-fab-create:active{transform:scale(.96)}@media(max-width:480px){.tasks-main-body{padding:10px 12px 24px}}.task-sheet-layer{position:fixed;inset:0;z-index:1100;display:flex;align-items:flex-end;justify-content:center;box-sizing:border-box}.task-sheet-backdrop{position:absolute;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;cursor:pointer;z-index:1;animation:taskFadeIn .2s ease-out}@keyframes taskFadeIn{0%{opacity:0}to{opacity:1}}.task-create-sheet{position:relative;z-index:2;width:100%;max-width:580px;background:var(--surface, #ffffff);border-radius:24px 24px 0 0;box-shadow:0 -10px 40px #0003;max-height:90dvh;display:flex;flex-direction:column;animation:taskSlideUp .3s cubic-bezier(.16,1,.3,1);overflow:hidden}@keyframes taskSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.task-create-sheet header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color, #E2E8F0);background:var(--surface, #ffffff)}.task-create-sheet header div{text-align:center}.task-create-sheet header div span{font-size:11.5px;font-weight:700;color:var(--primary-action, #FF2D55);text-transform:uppercase;letter-spacing:.05em;display:block}.task-create-sheet header div h2{font-size:17px;font-weight:800;color:var(--navy-800, #0F172A);margin:0}.task-icon-button{background:transparent;border:none;color:var(--text-secondary, #64748B);cursor:pointer;padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.task-icon-button:hover{background:var(--bg-hover, #F1F5F9);color:var(--text-primary, #0F172A)}.task-create-sheet form{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.task-type-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:none;padding:0;margin:0}.task-type-picker legend,.task-template-picker legend{font-size:12.5px;font-weight:700;color:var(--text-secondary, #64748B);margin-bottom:8px}.task-type-picker button{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1.5px solid var(--border-color, #E2E8F0);border-radius:14px;background:var(--bg, #F8FAFC);color:var(--text-primary, #0F172A);cursor:pointer;text-align:left;transition:all .2s ease}.task-type-picker button.is-active{border-color:var(--primary-action, #FF2D55);background:#ff2d550a;color:var(--primary-action, #FF2D55)}.task-type-picker button span{display:flex;flex-direction:column;flex:1}.task-type-picker button strong{font-size:13.5px;font-weight:700}.task-type-picker button small{font-size:11.5px;color:var(--text-muted, #94A3B8);font-weight:400}.task-template-picker{display:flex;gap:8px;border:none;padding:0;margin:0}.task-template-picker button{padding:8px 14px;border-radius:20px;border:1px solid var(--border-color, #E2E8F0);background:var(--bg, #F8FAFC);font-size:12.5px;font-weight:600;color:var(--text-secondary, #64748B);cursor:pointer;transition:all .15s ease}.task-template-picker button.is-active{background:var(--navy-800, #0F172A);color:#fff;border-color:var(--navy-800, #0F172A)}.task-field{display:flex;flex-direction:column;gap:6px}.task-field>span{font-size:13px;font-weight:700;color:var(--text-primary, #0F172A);display:flex;align-items:center;gap:6px}.task-field>span b{color:var(--primary-action, #FF2D55)}.task-field input,.task-field textarea,.task-field select{width:100%;padding:10px 14px;border:1px solid var(--border-color, #CBD5E1);border-radius:12px;font-family:inherit;font-size:13.5px;color:var(--text-primary, #0F172A);background:var(--surface, #FFFFFF);outline:none;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.task-field input:focus,.task-field textarea:focus,.task-field select:focus{border-color:var(--primary-action, #FF2D55);box-shadow:0 0 0 3px #ff2d551f}.task-field small{font-size:11.5px;color:var(--text-muted, #94A3B8)}.task-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.task-sales-targets{background:var(--bg, #F8FAFC);border:1px solid var(--border-color, #E2E8F0);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}.task-sales-targets>strong{font-size:13px;color:var(--text-primary, #0F172A)}.task-form-error{padding:10px 14px;background:#fee2e2;border:1px solid #FECACA;border-radius:10px;color:#ef4444;font-size:13px;font-weight:600}.task-create-sheet footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:8px;border-top:1px solid var(--border-color, #E2E8F0)}.task-secondary-button{padding:10px 18px;border:1px solid var(--border-color, #CBD5E1);border-radius:12px;background:var(--surface, #FFFFFF);color:var(--text-secondary, #64748B);font-weight:700;font-size:13.5px;cursor:pointer;transition:all .15s ease}.task-secondary-button:hover{background:var(--bg-hover, #F1F5F9)}.task-primary-button{padding:10px 22px;border:none;border-radius:12px;background:var(--primary-action, #FF2D55);color:#fff;font-weight:700;font-size:13.5px;cursor:pointer;transition:all .15s ease}.task-primary-button:hover:not(:disabled){background:var(--primary-action-hover, #E11D48)}.task-primary-button:disabled{opacity:.5;cursor:not-allowed}.task-detail-page-v2{min-height:100vh;min-height:100dvh;width:100%;background:var(--page-background);padding-bottom:calc(var(--bottom-nav-height, 64px) + env(safe-area-inset-bottom,0px) + 32px);position:relative;box-sizing:border-box}.task-detail-main-body{padding:16px;max-width:540px;margin:0 auto;box-sizing:border-box}.task-detail-notice-banner{margin-bottom:14px;padding:10px 14px;border-radius:var(--radius-sm, 10px);background:#eff6ff;border:1px solid #BFDBFE;color:#1d4ed8;font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px}.task-detail-card-container{background:var(--card-background);border-radius:var(--card-radius);padding:20px 18px 24px;box-shadow:var(--card-shadow);border:1px solid var(--border-color);overflow-wrap:anywhere;word-break:break-word}.task-detail-title-header{margin-bottom:16px}.task-detail-main-title{font-size:18px;font-weight:800;color:var(--text-primary);margin:0 0 10px;line-height:1.35;overflow-wrap:anywhere;word-break:break-word}.task-detail-tags-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.task-detail-priority-tag{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:700}.priority-urgent{background:#fef2f2;color:#dc2626;border:1px solid #FECACA}.priority-low{background:#ecfdf5;color:#10b981}.task-detail-type-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);font-size:11.5px;font-weight:600;background:#f1f5f9;color:#475569}.task-detail-meta-rows{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);padding:12px 0;margin-bottom:18px;display:flex;flex-direction:column;gap:12px}.task-meta-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.task-meta-label{color:var(--text-secondary);font-weight:500;flex-shrink:0;display:inline-flex;align-items:center;gap:6px}.meta-icon{color:#94a3b8}.task-meta-value{color:var(--text-primary);font-weight:600;text-align:right;overflow-wrap:anywhere;word-break:break-word}.task-meta-value.code-value{font-family:monospace;font-size:12.5px;color:var(--brand-navy, #0B1736);background:#f1f5f9;padding:2px 6px;border-radius:4px}.task-status-pill{padding:4px 10px;border-radius:var(--radius-full);font-size:11.5px;font-weight:700;display:inline-flex;align-items:center}.task-status-pill.status-done{background:#ecfdf5;color:#10b981}.task-status-pill.status-progress{background:#eff6ff;color:#3b82f6}.task-status-pill.status-waiting{background:#fef3c7;color:#d97706}.task-status-pill.status-todo{background:#f1f5f9;color:#64748b}.task-status-pill.status-cancelled{background:#fee2e2;color:#ef4444}.task-detail-section-box{margin-bottom:20px}.task-section-title{font-size:14.5px;font-weight:700;color:var(--text-primary);margin:0 0 8px;display:flex;align-items:center;gap:6px}.task-description-body{font-size:13px;color:#475569;line-height:1.55;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.task-empty-note{font-size:12.5px;color:var(--text-secondary);margin:0}.task-checklist-container{display:flex;flex-direction:column;gap:10px}.task-checklist-item{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-primary)}.checklist-text-done{text-decoration:line-through;color:#94a3b8}.task-checkbox-circle{width:18px;height:18px;border-radius:5px;border:1.5px solid #CBD5E1;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--duration-fast) var(--ease)}.task-checkbox-circle.checked{background:var(--success-color);border-color:var(--success-color);color:#fff}.task-file-attachment-card{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--page-background);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.file-icon-square{width:36px;height:36px;border-radius:8px;background:#fee2e2;color:#ef4444;display:flex;align-items:center;justify-content:center;flex-shrink:0}.file-info-col{display:flex;flex-direction:column;gap:2px}.file-name-text{font-size:13px;font-weight:600;color:var(--text-primary)}.file-size-text{font-size:11px;color:var(--text-secondary)}.task-report-box,.task-approval-box{background:#f8fafc;border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:14px}.task-report-form{display:flex;flex-direction:column;gap:10px}.task-report-textarea{width:100%;box-sizing:border-box;border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;font-family:inherit;resize:vertical;min-height:75px;background:var(--card-background);color:var(--text-primary);transition:border-color var(--duration-fast) var(--ease)}.task-report-textarea:focus{outline:none;border-color:var(--primary-action);box-shadow:0 0 0 3px #ef4d8d26}.task-approval-btns-row{display:flex;gap:10px;margin-top:10px}.task-approval-btns-row button{flex:1}.task-detail-bottom-actions{margin-top:18px;margin-bottom:20px}.task-comments-section{border-top:1px solid var(--border-color);padding-top:18px;margin-bottom:0}.task-comments-list{display:flex;flex-direction:column;gap:10px;margin-bottom:14px;max-height:280px;overflow-y:auto}.task-comment-item{background:var(--page-background);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:10px 12px;display:flex;flex-direction:column;gap:4px}.task-comment-author-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.task-comment-author-row strong{color:var(--text-primary)}.task-comment-author-row time{color:var(--text-secondary);font-size:11px}.task-comment-content{font-size:12.5px;color:var(--text-primary);margin:0;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.task-comment-bar{display:flex;align-items:center;gap:8px;background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-full);padding:4px 6px 4px 16px;box-shadow:0 2px 8px #0000000a}.task-comment-input{flex:1;border:none;background:transparent;outline:none;font-size:13px;color:var(--text-primary);padding:6px 0}.task-comment-send-btn{width:36px;height:36px;border-radius:var(--radius-full);background:var(--primary-action);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity var(--duration-fast) var(--ease)}.task-comment-send-btn:hover:not(:disabled){opacity:.9}.task-comment-send-btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:480px){.task-detail-main-body{padding:12px}.task-detail-card-container{padding:16px 14px 20px}}.task-calendar-page-v2{min-height:100vh;min-height:100dvh;width:100%;background:var(--page-background);padding-bottom:calc(var(--bottom-nav-height, 64px) + env(safe-area-inset-bottom,0px) + 32px);position:relative;overflow-x:hidden;box-sizing:border-box}.calendar-main-body{padding:14px 16px 24px;max-width:540px;margin:0 auto;box-sizing:border-box}.calendar-card-container{background:var(--card-background);border-radius:var(--card-radius, 20px);padding:18px 16px 20px;box-shadow:var(--card-shadow);border:1px solid var(--border-color);box-sizing:border-box}.calendar-month-selector{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.month-nav-btn{width:36px;height:36px;min-width:36px;min-height:36px;border-radius:50%;border:none;background:#f1f5f9;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--duration-fast) var(--ease)}.month-nav-btn:hover{background:#e2e8f0;color:var(--text-primary)}.current-month-label{font-size:15px;font-weight:700;color:var(--text-primary);margin:0}.calendar-weekdays-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.calendar-weekday-col{text-align:center;font-size:11.5px;font-weight:700;color:#94a3b8;padding:4px 0;text-transform:uppercase}.calendar-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:20px}.calendar-day-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--radius-sm, 10px);cursor:pointer;position:relative;transition:all var(--duration-fast) var(--ease)}.calendar-day-cell:hover{background:#f8fafc}.calendar-day-cell.other-month{opacity:.35}.calendar-day-number{font-size:13px;font-weight:600;color:var(--text-primary)}.calendar-day-cell.is-selected{background:#0f172a!important}.calendar-day-cell.is-selected .calendar-day-number{color:#fff;font-weight:700}.calendar-day-cell.is-today:not(.is-selected){background:#eff6ff;border:1px solid #BFDBFE}.calendar-day-cell.is-today:not(.is-selected) .calendar-day-number{color:#2563eb;font-weight:700}.calendar-event-dot{width:5px;height:5px;border-radius:50%;background:var(--primary-action, #FF2D55);margin-top:2px}.calendar-day-cell.is-selected .calendar-event-dot{background:#60a5fa}.schedule-section-block{border-top:1px solid var(--border-color);padding-top:16px}.schedule-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.schedule-date-title{font-size:14px;font-weight:700;color:var(--text-primary);margin:0}.schedule-count-badge{font-size:11px;font-weight:700;color:#2563eb;background:#eff6ff;padding:3px 8px;border-radius:var(--radius-full)}.schedule-items-list{display:flex;flex-direction:column;gap:10px}.schedule-item-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:#f8fafc;border:1px solid var(--border-color);border-radius:var(--radius-md, 14px);cursor:pointer;transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.schedule-item-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f172a0f}.schedule-time-box{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:48px;padding:6px;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-sm, 8px);font-size:11px;font-weight:700;color:var(--text-primary)}.schedule-content-box{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.schedule-item-type{font-size:10.5px;font-weight:800;color:#2563eb;text-transform:uppercase}.schedule-item-title{font-size:13px;font-weight:700;color:var(--text-primary);margin:0;line-height:1.35;word-break:break-word}.schedule-item-footer{display:flex;align-items:center;gap:6px;margin-top:2px}.schedule-priority-badge{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:var(--radius-full)}.priority-important{background:#fee2e2;color:#ef4444}.priority-normal{background:#eff6ff;color:#3b82f6}.priority-low{background:#f1f5f9;color:#64748b}.schedule-empty-state{text-align:center;padding:24px 12px;color:var(--text-secondary);font-size:13px}.calendar-fab-create{position:fixed;bottom:calc(var(--floating-button-bottom, 78px) + env(safe-area-inset-bottom,0px));left:max(18px,calc((100vw - 1180px)/2));width:52px;height:52px;min-width:52px;min-height:52px;border-radius:var(--radius-full);background:var(--primary-action, #FF2D55);color:#fff;border:2px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #ff2d5566;cursor:pointer;z-index:25;transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease)}.calendar-fab-create:hover{background:var(--primary-action-hover, #E11D48);transform:scale(1.06);box-shadow:0 8px 22px #ff2d5580}.calendar-fab-create:active{transform:scale(.96)}.calendar-fab-create:focus-visible{outline:3px solid var(--primary-action);outline-offset:3px}.task-module-nav{display:flex;gap:6px;overflow-x:auto;margin-bottom:13px;padding:2px 1px 4px;scroll-snap-type:x proximity;scrollbar-width:none;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}.task-module-nav::-webkit-scrollbar{display:none}.task-module-nav a{display:inline-flex;min-height:40px;flex:0 0 auto;align-items:center;gap:6px;padding:0 12px;scroll-snap-align:start;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--muted);font-size:11px;font-weight:800;white-space:nowrap}.task-module-nav a.active{border-color:var(--teal-100);background:var(--teal-50);color:var(--teal-700);box-shadow:0 4px 12px #0d948814}.sales-plan-page{min-height:calc(100vh - 64px);padding:16px 14px 108px}.sales-plan-hero{display:grid;gap:15px;padding:21px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--navy-900),#123f52);color:#fff}.sales-plan-hero>div>span{color:var(--teal-400);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.sales-plan-hero h1{margin:4px 0;font-size:25px}.sales-plan-hero p{color:#cbd5e1;font-size:11px}.sales-plan-hero label{display:grid;gap:5px}.sales-plan-hero label span{color:#cbd5e1;font-size:10px;font-weight:700}.sales-plan-hero input{min-height:44px;padding:0 12px;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);background:#ffffff1f;color:#fff;color-scheme:dark}.sales-plan-create{display:grid;gap:18px;margin-top:14px;padding:22px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm)}.sales-plan-create>div:first-child{display:grid;place-items:center;gap:5px;text-align:center}.sales-plan-create>div:first-child svg{color:var(--teal-600)}.sales-plan-create h2{font-size:18px}.sales-plan-create p{max-width:420px;color:var(--muted);font-size:11px}.sales-target-form{display:grid;gap:10px}.sales-target-form label{display:grid;gap:5px}.sales-target-form span{color:var(--text-secondary);font-size:11px;font-weight:800}.sales-target-form input{min-height:46px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle)}.sales-progress-grid{display:grid;gap:11px;margin-top:14px}.sales-progress-grid article{padding:15px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.sales-progress-grid article header{display:flex;align-items:center;gap:10px}.sales-progress-grid article header>span{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;background:var(--teal-50);color:var(--teal-700)}.sales-progress-grid article header div{display:grid}.sales-progress-grid small{color:var(--muted);font-size:10px}.sales-progress-grid strong{font-size:21px}.sales-progress-grid em{color:var(--muted);font-size:12px;font-style:normal;font-weight:600}.sales-progress{height:7px;margin:12px 0 7px;overflow:hidden;border-radius:var(--radius-full);background:var(--border-light)}.sales-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal-500),var(--teal-700))}.sales-progress-grid footer{display:flex;align-items:center;gap:4px;color:var(--teal-700);font-size:9px;font-weight:800}.sales-actual-section{margin-top:14px;padding:17px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff}.sales-section-heading{display:flex;align-items:center;gap:10px}.sales-section-heading>span{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:var(--pink-100);color:var(--pink-600)}.sales-section-heading h2{font-size:16px}.sales-section-heading p{color:var(--muted);font-size:9px}.sales-actual-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:14px}.sales-actual-grid article{display:grid;padding:12px;border-radius:var(--radius-sm);background:var(--bg-subtle)}.sales-actual-grid strong{color:var(--navy-800);font-size:20px}.sales-actual-grid span{color:var(--muted);font-size:9px}.sales-updated{display:block;margin-top:11px;color:var(--muted);font-size:9px;text-align:right}@media(min-width:640px){.sales-plan-page{padding:24px 22px 60px}.sales-plan-hero{grid-template-columns:1fr 220px;align-items:end;padding:28px}.sales-target-form,.sales-progress-grid,.sales-actual-grid{grid-template-columns:repeat(3,1fr)}}.feed-page-v2{min-height:100vh;min-height:100dvh;width:100%;background:var(--page-background);padding-bottom:calc(var(--bottom-nav-height, 64px) + env(safe-area-inset-bottom,0px) + 32px);position:relative;box-sizing:border-box}.feed-main-body{padding:16px;max-width:540px;margin:0 auto;display:flex;flex-direction:column;gap:14px;box-sizing:border-box}.feed-featured-card{background:var(--card-background);border-radius:var(--card-radius);border:1px solid var(--border-color);box-shadow:var(--card-shadow);overflow:hidden;display:flex;flex-direction:column;cursor:pointer;transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease);text-align:left;padding:0;width:100%}.feed-featured-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0f172a14}.feed-featured-card:active{transform:scale(.99)}.feed-featured-img{width:100%;height:170px;object-fit:cover;display:block}.feed-featured-placeholder{width:100%;height:140px;background:linear-gradient(135deg,#1e1b4b,#312e81,#4338ca);display:flex;align-items:center;justify-content:center;color:#a5b4fc}.feed-featured-info{padding:16px;display:flex;flex-direction:column;gap:8px}.feed-category-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:#f0fdf4;color:#15803d;border:1px solid #DCFCE7;align-self:flex-start}.feed-category-pill.announcement{background:#eff6ff;color:#1d4ed8;border-color:#dbeafe}.feed-category-pill.achievement{background:#fefce8;color:#a16207;border-color:#fef08a}.feed-category-pill.event{background:#faf5ff;color:#7e22ce;border-color:#f3e8ff}.feed-category-pill.policy{background:#fff1f2;color:#be123c;border-color:#ffe4e6}.feed-featured-title{font-size:16px;font-weight:800;color:var(--text-primary);line-height:1.35;margin:0;overflow-wrap:anywhere;word-break:break-word}.feed-featured-date{font-size:12px;color:var(--text-secondary);margin:0}.feed-list-section{display:flex;flex-direction:column;gap:10px}.feed-item-card{background:var(--card-background);border-radius:var(--card-radius);border:1px solid var(--border-color);box-shadow:var(--card-shadow);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;transition:transform var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease);text-align:left;width:100%}.feed-item-card:hover{background:#f8fafc;transform:translateY(-1px)}.feed-item-card:active{transform:scale(.99)}.feed-item-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.feed-item-thumb{width:56px;height:56px;border-radius:12px;object-fit:cover;flex-shrink:0}.feed-item-thumb-fallback{width:56px;height:56px;border-radius:12px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);color:#4f46e5;display:flex;align-items:center;justify-content:center;flex-shrink:0}.feed-item-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.feed-item-category{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:700;color:var(--text-secondary);text-transform:uppercase}.feed-item-title{font-size:13.5px;font-weight:700;color:var(--text-primary);margin:0;line-height:1.35;overflow-wrap:anywhere;word-break:break-word}.feed-item-date{font-size:11.5px;color:var(--text-secondary);margin:0}.feed-item-chevron{color:#94a3b8;flex-shrink:0}.feed-post-detail{background:var(--card-background);border-radius:var(--card-radius);border:1px solid var(--border-color);box-shadow:var(--card-shadow);padding:20px 18px;display:flex;flex-direction:column;gap:14px;overflow-wrap:anywhere;word-break:break-word}.feed-inline-back{align-items:center;background:#eef2ff;border:none;border-radius:var(--radius-sm);color:#3730a3;display:inline-flex;font-family:inherit;font-weight:700;font-size:13px;gap:6px;align-self:flex-start;padding:8px 14px;cursor:pointer;min-height:38px;transition:background-color var(--duration-fast) var(--ease)}.feed-inline-back:hover{background:#e0e7ff}.feed-detail-meta{color:var(--text-secondary);display:flex;font-size:12px;justify-content:space-between;align-items:center;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.feed-post-detail h1{color:var(--text-primary);font-size:20px;font-weight:800;line-height:1.35;margin:0;overflow-wrap:anywhere;word-break:break-word}.feed-detail-image{border-radius:14px;max-height:280px;object-fit:cover;width:100%}.feed-detail-content{color:var(--text-primary);font-size:14px;line-height:1.65;margin:0;white-space:pre-line;overflow-wrap:anywhere;word-break:break-word}.feed-post-detail footer{border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:11.5px;padding-top:12px}.company-page{max-width:1080px;margin:0 auto;padding:18px 16px 112px}.company-hero{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:15px;align-items:center;padding:22px;overflow:hidden;border-radius:var(--radius-lg);color:#fff;background:linear-gradient(135deg,var(--navy-900),#164e63);box-shadow:var(--shadow-md)}.company-hero:after{content:"";position:absolute;width:170px;height:170px;right:-65px;top:-85px;border-radius:50%;background:#2dd4bf2e}.company-hero-logo{position:relative;z-index:1;display:grid;width:58px;height:58px;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.22);border-radius:17px;color:var(--teal-300);background:#ffffff1a}.company-hero-logo img{width:100%;height:100%;object-fit:contain;background:#fff}.company-hero>div:last-child{position:relative;z-index:1;min-width:0}.company-hero span,.company-overview span,.company-branches>header span,.company-contact-card>div>span{color:var(--teal-300);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.company-hero h1{margin:4px 0;color:#fff;font-size:clamp(22px,5vw,34px);line-height:1.15;text-shadow:0 1px 2px rgba(0,0,0,.22)}.company-hero p{margin:0;color:#ffffffe6;font-size:12px;line-height:1.45}.company-tabs{display:flex;gap:8px;margin:15px 0;padding-bottom:2px;overflow-x:auto;scrollbar-width:none}.company-tabs::-webkit-scrollbar{display:none}.company-tabs button,.company-tabs a{display:inline-flex;min-height:42px;flex:0 0 auto;align-items:center;gap:7px;padding:0 13px;border:1px solid var(--border);border-radius:var(--radius-full);color:var(--muted);background:var(--surface);font:inherit;font-size:12px;font-weight:800;cursor:pointer}.company-tabs button.is-active{border-color:var(--teal-100);color:var(--teal-700);background:var(--teal-50)}.company-tabs button:disabled{opacity:.48;cursor:not-allowed}.company-inline-news{display:grid;gap:12px;margin:-2px 0 15px;padding:16px;border:1px solid var(--teal-100);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.company-news-list{display:grid;gap:9px}.company-news-item{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.company-news-item summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;min-height:72px;padding:12px;cursor:pointer;list-style:none}.company-news-item summary::-webkit-details-marker{display:none}.company-news-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;color:var(--teal-700);background:var(--teal-50)}.company-news-summary{display:grid;min-width:0;gap:3px}.company-news-summary small{display:flex;align-items:center;gap:4px;color:var(--teal-700);font-size:9px;font-weight:800;text-transform:uppercase}.company-news-summary strong{overflow:hidden;color:var(--navy-900);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.company-news-summary time{color:var(--muted);font-size:10px}.company-news-chevron{color:var(--muted);transition:transform .2s ease}.company-news-item[open] .company-news-chevron{transform:rotate(180deg)}.company-news-content{padding:0 12px 14px 61px;color:var(--muted);font-size:12px;line-height:1.6}.company-news-content img{width:100%;max-height:180px;margin-bottom:9px;border-radius:var(--radius-sm);object-fit:cover}.company-news-content p{margin:0;white-space:pre-line}.company-overview,.company-branches{display:grid;gap:14px}.company-statement-grid{display:grid;gap:12px}.company-statement{padding:20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.company-statement span,.company-values span,.company-branches>header span,.company-contact-card>div>span{color:var(--teal-700)}.company-statement h2,.company-values h2,.company-branches h2,.company-contact-card h2{margin:5px 0 8px;color:var(--navy-900);font-size:17px}.company-statement p,.company-contact-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.65;white-space:pre-line}.company-values{display:grid;gap:15px;padding:20px;border-radius:var(--radius-lg);color:#fff;background:linear-gradient(135deg,var(--teal-700),var(--teal-600))}.company-values span,.company-values h2{color:#fff}.company-values ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}.company-values li{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:9px;padding:10px;border-radius:var(--radius-sm);background:#ffffff1c;font-size:12px;font-weight:700}.company-values li strong{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;color:var(--teal-800);background:#fff}.company-contact-card{display:grid;gap:18px;padding:20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.company-contact-card dl{display:grid;grid-template-columns:78px minmax(0,1fr);gap:9px 12px;margin:0;font-size:12px}.company-contact-card dt{color:var(--muted);font-weight:700}.company-contact-card dd{min-width:0;margin:0;color:var(--text);overflow-wrap:anywhere}.company-contact-card a{display:inline-flex;align-items:center;gap:5px;color:var(--teal-700);font-weight:800}.company-branches>header{padding:4px 2px}.company-branch-grid{display:grid;gap:12px}.company-branch-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.company-branch-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:13px;color:var(--teal-700);background:var(--teal-50)}.company-branch-copy small{color:var(--teal-700);font-size:9px;font-weight:800}.company-branch-copy h3{margin:3px 0 9px;color:var(--navy-900);font-size:15px}.company-branch-copy p{display:flex;align-items:flex-start;gap:6px;margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.company-branch-copy p svg{flex:0 0 auto;margin-top:1px}.company-branch-actions{display:flex;grid-column:1/-1;gap:8px}.company-branch-actions a{display:inline-flex;min-height:38px;flex:1;align-items:center;justify-content:center;gap:6px;border:1px solid var(--teal-100);border-radius:var(--radius-sm);color:var(--teal-700);background:var(--teal-50);font-size:11px;font-weight:800}.company-source-note{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:16px;padding:12px 14px;border-radius:var(--radius-sm);color:var(--muted);background:var(--bg-subtle);font-size:10px}.company-source-note a{display:inline-flex;align-items:center;gap:5px;margin-left:auto;color:var(--teal-700);font-weight:800}.company-page>.skeleton,.company-page>.state{min-height:260px}@media(min-width:720px){.company-page{padding-top:26px}.company-hero{padding:28px}.company-statement-grid,.company-branch-grid,.company-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.company-values{grid-template-columns:minmax(180px,.7fr) 1.3fr;align-items:start;padding:24px}.company-contact-card{grid-template-columns:.8fr 1.2fr;padding:24px}}.company-org-section{display:flex;flex-direction:column;gap:14px}.company-section-header span{color:var(--teal-700);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.company-section-header h2{margin:4px 0 0;color:var(--navy-900);font-size:17px}.company-org-list{display:flex;flex-direction:column;gap:10px}.company-org-card{padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:8px}.company-org-card.depth-1{border-left:4px solid var(--teal-600);margin-left:12px}.company-org-card.depth-2{border-left:4px solid var(--teal-400);margin-left:24px}.company-org-card-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.company-org-type-badge{font-size:10px;font-weight:700;text-transform:uppercase;padding:3px 8px;border-radius:var(--radius-full);background:var(--teal-50);color:var(--teal-700);border:1px solid var(--teal-100)}.company-org-card-header h3{margin:0;font-size:15px;font-weight:700;color:var(--navy-900)}.company-org-code{color:var(--muted);font-size:12px}.company-org-manager{font-size:12.5px;display:flex;align-items:center;gap:6px}.company-org-count{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);font-weight:600}.company-directory-section{display:flex;flex-direction:column;gap:14px}.company-directory-search-box input{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);font:inherit;font-size:13.5px;outline:none;box-sizing:border-box}.company-directory-search-box input:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px #0d94881f}.company-directory-grid{display:grid;gap:12px}.company-directory-card{display:flex;gap:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.company-directory-avatar{width:48px;height:48px;min-width:48px;border-radius:var(--radius-full);overflow:hidden;background:var(--teal-100);color:var(--teal-800);display:grid;place-items:center;font-weight:700;font-size:14px}.company-directory-avatar img{width:100%;height:100%;object-fit:cover}.company-directory-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.company-directory-info h3{margin:0;font-size:15px;font-weight:700;color:var(--navy-900)}.company-directory-title{margin:0;font-size:12px;color:var(--muted)}.company-directory-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.badge-org,.badge-branch{font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:var(--radius-sm)}.badge-org{background:var(--teal-50);color:var(--teal-700);border:1px solid var(--teal-100)}.badge-branch{background:var(--bg-subtle);color:var(--muted);border:1px solid var(--border)}.company-directory-contacts{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.contact-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--radius-full);background:var(--bg);border:1px solid var(--border);color:var(--text);font-size:11.5px;font-weight:600;text-decoration:none}.contact-btn:hover{background:var(--teal-50);border-color:var(--teal-200);color:var(--teal-700)}.documents-page-v2{min-height:100vh;min-height:100dvh;width:100%;background:var(--page-background);padding-bottom:calc(var(--bottom-nav-height, 64px) + env(safe-area-inset-bottom,0px) + 32px);position:relative;overflow-x:hidden;box-sizing:border-box}.doc-main-body{padding:14px 16px 24px;max-width:540px;margin:0 auto;display:flex;flex-direction:column;gap:12px;box-sizing:border-box}.doc-search-box{display:flex;align-items:center;gap:8px;background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-md, 12px);padding:8px 12px;box-shadow:0 1px 3px #0f172a0a}.doc-search-input{flex:1;background:transparent;border:none;outline:none;font-family:inherit;font-size:13px;color:var(--text-primary)}.doc-search-input::placeholder{color:var(--text-muted, #94A3B8)}.doc-filter-section{display:flex;flex-direction:column;gap:10px}.doc-filter-tabs{display:flex;align-items:center;gap:6px;background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-sm, 10px);padding:4px;box-shadow:0 1px 3px #0f172a0a}.doc-tab-btn{flex:1;min-height:36px;padding:6px 10px;border-radius:var(--radius-sm, 8px);border:none;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:all var(--duration-fast) var(--ease);display:flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap}.doc-tab-btn.active{background:#0f172a;color:#fff;font-weight:700;box-shadow:0 2px 6px #0f172a26}.doc-filter-row{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}.doc-select-label{color:var(--text-secondary);display:grid;font-size:11px;font-weight:700;gap:4px}.doc-select-label span{display:flex;align-items:center;gap:4px}.doc-filter-row select{background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-sm, 10px);color:var(--text-primary);font:inherit;font-size:13px;min-height:42px;padding:0 11px;width:100%}.doc-mandatory-toggle{align-items:center;background:#fff7ed;border:1px solid #FED7AA;border-radius:var(--radius-sm, 10px);color:#9a3412;display:flex;font-size:12px;font-weight:700;gap:8px;min-height:42px;padding:0 11px;cursor:pointer}.doc-reset-filter-btn{background:#eff6ff;border:1px solid #BFDBFE;color:#2563eb;border-radius:var(--radius-sm, 8px);padding:8px 14px;font-size:12.5px;font-weight:600;cursor:pointer;transition:all var(--duration-fast) var(--ease)}.doc-reset-filter-btn:hover{background:#dbeafe}.doc-folders-list{display:flex;flex-direction:column;gap:10px}.doc-folder-row{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;background:var(--card-background);border-radius:var(--card-radius, 16px);border:1px solid var(--border-color);box-shadow:var(--card-shadow);cursor:pointer;width:100%;text-align:left;transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease);box-sizing:border-box}.doc-folder-row:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0f172a14}.doc-folder-left{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1}.doc-folder-icon-box{width:40px;height:40px;border-radius:var(--radius-sm, 10px);display:flex;align-items:center;justify-content:center;flex-shrink:0}.doc-icon-blue{background:#eff6ff;color:#2563eb}.doc-icon-emerald{background:#ecfdf5;color:#059669}.doc-icon-amber{background:#fffbeb;color:#d97706}.doc-icon-purple{background:#f5f3ff;color:#7c3aed}.doc-icon-slate{background:#f1f5f9;color:#475569}.doc-document-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.doc-document-category{color:#2563eb;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.doc-folder-title{font-size:13.5px;font-weight:700;color:var(--text-primary);line-height:1.35;word-break:break-word}.doc-folder-count{font-size:11.5px;color:var(--text-secondary)}.doc-ack-state{align-items:center;display:inline-flex;font-size:11px;font-weight:700;gap:4px;margin-top:3px;width:max-content}.doc-ack-state.is-done{color:#047857}.doc-ack-state.is-pending{color:#dc2626}.doc-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 4px}.doc-page-btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 14px;background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-sm, 10px);color:var(--text-primary);font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;box-shadow:0 1px 3px #0f172a0a;transition:all var(--duration-fast) var(--ease)}.doc-page-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.doc-page-btn:disabled{opacity:.45;cursor:not-allowed}.doc-page-indicator{font-size:12.5px;font-weight:700;color:var(--text-secondary)}.doc-sync-note{border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:11px;margin:8px 0 0;padding-top:12px;text-align:center}.doc-detail-page-v2{min-height:100vh;min-height:100dvh;width:100%;background:var(--page-background);padding-bottom:calc(var(--bottom-nav-height, 64px) + env(safe-area-inset-bottom,0px) + 32px);position:relative;overflow-x:hidden;box-sizing:border-box}.doc-detail-main-body{padding:14px 16px 24px;max-width:540px;margin:0 auto;box-sizing:border-box}.doc-detail-card-container{background:var(--card-background);border-radius:var(--card-radius, 20px);padding:20px 18px 24px;box-shadow:var(--card-shadow);border:1px solid var(--border-color);display:flex;flex-direction:column;gap:18px;box-sizing:border-box}.doc-header-info-box{display:flex;align-items:flex-start;gap:14px}.doc-pdf-icon-box{width:50px;height:50px;border-radius:var(--radius-sm, 12px);background:#eff6ff;color:#2563eb;display:flex;align-items:center;justify-content:center;flex-shrink:0}.doc-header-info-text{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.doc-header-top-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.doc-detail-code{color:#2563eb;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.doc-category-badge{font-size:10.5px;font-weight:700;background:#eff6ff;color:#2563eb;border:1px solid #DBEAFE;padding:2px 8px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.03em}.doc-file-name-title{font-size:15.5px;font-weight:800;color:var(--text-primary);margin:0;line-height:1.35;word-break:break-word}.doc-file-meta-line{font-size:12px;color:var(--text-secondary);margin:0}.btn-doc-download{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;padding:12px 16px;background:var(--primary-action, #FF2D55);color:#fff;border:none;border-radius:var(--radius-md, 12px);font-size:13.5px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #ff2d5559;transition:background-color var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease)}.btn-doc-download:hover:not(:disabled){background:var(--primary-action-hover, #E11D48);transform:translateY(-1px)}.btn-doc-download:disabled{opacity:.65;cursor:not-allowed}.doc-action-error{background:#fef2f2;border:1px solid #FECACA;border-radius:var(--radius-sm, 8px);color:#b91c1c;font-size:12.5px;margin:0;padding:10px 12px;display:flex;align-items:center;gap:8px}.doc-metadata-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:480px){.doc-metadata-grid{grid-template-columns:1fr}}.doc-meta-card{background:#f8fafc;border:1px solid #E2E8F0;border-radius:var(--radius-sm, 10px);padding:10px 12px;display:flex;align-items:flex-start;gap:10px}.doc-meta-icon{width:30px;height:30px;border-radius:8px;background:#eff6ff;color:#2563eb;display:flex;align-items:center;justify-content:center;flex-shrink:0}.doc-meta-content{display:flex;flex-direction:column;gap:2px;min-width:0}.doc-meta-label{font-size:11px;color:var(--text-secondary);font-weight:600}.doc-meta-value{font-size:12.5px;color:var(--text-primary);font-weight:700;word-break:break-word}.doc-section-block{display:flex;flex-direction:column;gap:8px;border-top:1px solid #F1F5F9;padding-top:14px}.doc-section-heading{font-size:13px;font-weight:700;color:var(--text-primary);margin:0;text-transform:uppercase;letter-spacing:.03em}.doc-section-content{font-size:13.5px;color:var(--text-secondary);line-height:1.5;margin:0;word-break:break-word}.doc-ack-confirmed-box{background:#ecfdf5;border:1px solid #A7F3D0;border-radius:var(--radius-sm, 10px);padding:12px 14px;display:flex;align-items:flex-start;gap:10px}.doc-ack-confirmed-icon{color:#059669;flex-shrink:0;margin-top:2px}.doc-ack-confirmed-text{display:flex;flex-direction:column;gap:2px}.doc-ack-confirmed-text strong{font-size:13px;color:#065f46}.doc-ack-confirmed-text span{font-size:11.5px;color:#047857}.doc-ack-pending-box{background:#fef2f2;border:1px solid #FECACA;border-radius:var(--radius-sm, 10px);padding:12px 14px;display:flex;flex-direction:column;gap:12px}.doc-ack-pending-header{display:flex;align-items:flex-start;gap:10px}.doc-ack-pending-icon{color:#dc2626;flex-shrink:0;margin-top:2px}.doc-ack-pending-text{display:flex;flex-direction:column;gap:2px}.doc-ack-pending-text strong{font-size:13px;color:#991b1b}.doc-ack-pending-text span{font-size:11.5px;color:#b91c1c}.btn-doc-acknowledge{width:100%;min-height:44px;padding:10px 16px;background:#059669;color:#fff;border:none;border-radius:var(--radius-sm, 8px);font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 2px 6px #0596694d;transition:background-color var(--duration-fast) var(--ease)}.btn-doc-acknowledge:hover:not(:disabled){background:#047857}.btn-doc-acknowledge:disabled{opacity:.5;cursor:not-allowed}.doc-reference-note{background:#f8fafc;border:1px solid #E2E8F0;border-radius:var(--radius-sm, 8px);padding:10px 12px;display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-secondary)}.doc-ack-success-toast{background:#ecfdf5;border:1px solid #A7F3D0;color:#065f46;font-size:12.5px;font-weight:700;padding:8px 12px;border-radius:var(--radius-sm, 8px);margin:0;animation:fadeIn .2s ease-out}.doc-detail-invalid{align-items:center;color:var(--text-secondary);display:grid;gap:12px;justify-items:center;padding:42px 12px;text-align:center}.doc-detail-invalid h3{color:var(--text-primary);margin:0}.doc-detail-invalid p{font-size:13px;margin:0}.doc-detail-invalid button{background:#0f172a;border:0;border-radius:var(--radius-sm, 10px);color:#fff;font:inherit;font-weight:700;padding:10px 16px;cursor:pointer;min-height:44px}.kn-approval-panel{display:grid;gap:14px}.kn-approval-heading{display:flex;gap:10px;color:#2563eb}.kn-approval-heading h3{margin:0;color:#0f172a;font-size:15px}.kn-approval-heading p{margin:3px 0 0;color:#64748b;font-size:11px}.kn-approval-list{display:grid;gap:12px}.kn-approval-card{padding:14px;border:1px solid #dbeafe;border-radius:16px;background:#f8fbff}.kn-approval-card-top{display:flex;justify-content:space-between;gap:8px;color:#64748b;font-size:10px}.kn-approval-card-top span{display:flex;align-items:center;gap:4px;color:#b45309;font-weight:750}.kn-approval-card h4{margin:10px 0 5px;color:#0f172a;font-size:14px}.kn-approval-card>p{margin:0;color:#475569;font-size:12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.kn-approval-card blockquote{margin:9px 0 0;padding:8px 10px;border-left:3px solid #93c5fd;background:#fff;color:#475569;font-size:11px}.kn-approval-card>a{display:inline-flex;align-items:center;gap:4px;margin-top:9px;color:#0369a1;font-size:11px;font-weight:700}.kn-approval-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.kn-approval-actions button{min-height:42px;display:flex;align-items:center;justify-content:center;gap:5px;border-radius:11px;font-weight:750;cursor:pointer}.kn-approval-actions .is-approve{border:0;background:#059669;color:#fff}.kn-approval-actions .is-reject{border:1px solid #fecdd3;background:#fff1f2;color:#be123c}.kn-review-form{position:fixed;inset:auto 12px 86px;z-index:30;max-height:calc(100dvh - 120px);overflow-y:auto;padding:18px;border:1px solid #cbd5e1;border-radius:20px;background:#fff;box-shadow:0 20px 60px #0f172a40}.kn-review-form h4{margin:0 0 4px;color:#0f172a;font-size:16px}.kn-review-form>strong{display:block;color:#475569;font-size:12px}.kn-review-form label{display:grid;gap:6px;margin-top:13px;color:#334155;font-size:11px;font-weight:750}.kn-review-form input,.kn-review-form textarea{width:100%;padding:11px;border:1px solid #cbd5e1;border-radius:11px;box-sizing:border-box;font:inherit;font-size:13px}.kn-review-form textarea{min-height:84px;resize:vertical}.kn-review-hint{color:#64748b;font-size:10.5px}.kn-review-error{color:#b91c1c;font-size:11px;font-weight:700}.kn-review-form>div:last-child{display:grid;grid-template-columns:1fr 2fr;gap:8px;margin-top:14px}.kn-review-form button{min-height:42px;border-radius:11px;font-weight:750;cursor:pointer}.kn-review-cancel{border:1px solid #cbd5e1;background:#fff;color:#475569}.kn-review-confirm{border:0;background:#059669;color:#fff}.kn-review-confirm.is-reject{background:#e11d48}.kn-review-form button:disabled{cursor:not-allowed;opacity:.55}.kn-disputed-rewards{display:grid;gap:12px;padding-top:14px;border-top:1px solid #fecdd3}.kn-disputed-title{display:flex;gap:9px;color:#be123c}.kn-disputed-title h3{margin:0;color:#881337;font-size:14px}.kn-disputed-title p{margin:3px 0 0;color:#64748b;font-size:10.5px}.kn-approval-card.is-disputed{border-color:#fecdd3;background:#fff7f8}.kn-approval-card.is-disputed b{color:#be123c}.kn-adjust-reward{width:100%;min-height:42px;margin-top:11px;border:0;border-radius:11px;background:#e11d48;color:#fff;font-weight:800;cursor:pointer}@media(min-width:640px){.kn-review-form{width:480px;inset:50% auto auto 50%;transform:translate(-50%,-50%)}}.knowledge-page-v2{min-height:100vh;min-height:100dvh;width:100%;background:var(--page-background);padding-bottom:calc(var(--bottom-nav-height, 64px) + env(safe-area-inset-bottom,0px) + 32px);position:relative;overflow-x:hidden;box-sizing:border-box}.btn-kn-create{display:inline-flex;align-items:center;gap:6px;background:var(--primary-action, #FF2D55);color:#fff;border:none;border-radius:var(--radius-sm, 8px);padding:6px 12px;font-family:inherit;font-size:12.5px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #ff2d5559;transition:all var(--duration-fast) var(--ease)}.btn-kn-create:hover{background:var(--primary-action-hover, #E11D48);transform:translateY(-1px)}.kn-main-body{padding:14px 16px 24px;max-width:540px;margin:0 auto;display:flex;flex-direction:column;gap:12px;box-sizing:border-box}.kn-tabs-pill-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px 0}.kn-tabs-pill-row::-webkit-scrollbar{display:none}.kn-tab-pill-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius-full);background:var(--card-background);border:1px solid var(--border-color);color:var(--text-secondary);font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all var(--duration-fast) var(--ease)}.kn-tab-pill-btn:hover{background:#f1f5f9;color:var(--text-primary)}.kn-tab-pill-btn.active{background:#0f172a;border-color:#0f172a;color:#fff;font-weight:700}.kn-badge-count{font-size:11px;background:#00000014;padding:1px 6px;border-radius:var(--radius-full)}.kn-tab-pill-btn.active .kn-badge-count{background:#fff3;color:#fff}.kn-search-input-box{display:flex;align-items:center;gap:8px;background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-md, 12px);padding:8px 12px;box-shadow:0 1px 3px #0f172a0a}.kn-search-input{flex:1;background:transparent;border:none;outline:none;font-family:inherit;font-size:13px;color:var(--text-primary)}.kn-search-input::placeholder{color:var(--text-muted, #94A3B8)}.kn-status-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:5px;border:1px solid #e2e8f0;border-radius:13px;background:#fff}.kn-status-filters button{border:0;border-radius:9px;background:transparent;color:#64748b;padding:8px 4px;font:inherit;font-size:11.5px;font-weight:700}.kn-status-filters button.active{background:#0f172a;color:#fff}.kn-publication-state{align-self:flex-start;border-radius:999px;padding:3px 8px;font-size:10.5px;font-weight:700}.kn-publication-state.is-draft{color:#9a3412;background:#fff7ed}.kn-publication-state.is-active{color:#047857;background:#ecfdf5}.kn-contrib-banner-card{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#eff6ff,#eef2ff);border:1px solid #DBEAFE;border-radius:var(--card-radius, 16px)}.kn-contrib-icon-box{width:38px;height:38px;border-radius:var(--radius-sm, 10px);background:#3b82f6;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.kn-contrib-banner-text{display:flex;flex-direction:column;gap:3px}.kn-contrib-banner-title{font-size:13.5px;font-weight:700;color:#1e3a8a;margin:0}.kn-contrib-banner-desc{font-size:12px;color:#3b82f6;margin:0;line-height:1.4}.kn-items-list{display:flex;flex-direction:column;gap:10px}.kn-item-card{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:var(--card-background);border-radius:var(--card-radius, 16px);border:1px solid var(--border-color);box-shadow:var(--card-shadow);text-align:left;cursor:pointer;transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease);box-sizing:border-box}.kn-item-card:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0f172a14}.kn-item-top-row{display:flex;align-items:center;justify-content:space-between}.kn-category-tag{font-size:11px;font-weight:800;color:#2563eb;text-transform:uppercase;letter-spacing:.03em}.kn-status-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary)}.kn-item-title{font-size:14px;font-weight:700;color:var(--text-primary);margin:0;line-height:1.35;word-break:break-word}.kn-item-summary{font-size:12.5px;color:var(--text-secondary);line-height:1.45;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kn-api-item-footer{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#94a3b8;border-top:1px solid #F8FAFC;padding-top:8px;margin-top:2px}.kn-source-note{border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:11px;margin:8px 0 0;padding-top:12px;text-align:center}.kn-detail-page-v2{min-height:100dvh;width:100%;background:#f8fafc;padding-bottom:96px;overflow-x:hidden;box-sizing:border-box}.kn-detail-hero-navy{background:linear-gradient(180deg,#070d1e,#0e1e42);padding:16px 16px 36px;border-radius:0 0 26px 26px;box-shadow:0 8px 24px #070d1e40}.kn-detail-top-nav-row{display:flex;align-items:center;justify-content:space-between}.kn-detail-nav-btn,.kn-detail-nav-spacer{width:40px;height:40px}.kn-detail-nav-btn{border-radius:50%;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#fff;display:grid;place-items:center;cursor:pointer}.kn-detail-header-title{margin:0;color:#fff;font-size:17px;font-weight:800}.kn-detail-main-body{padding:0 16px;margin-top:-20px;position:relative;z-index:1}.kn-detail-card-container{min-height:220px;background:#fff;border:1px solid #eef2f7;border-radius:22px;padding:22px 18px 28px;box-shadow:0 10px 30px #0f172a0f}.kn-detail-card-container .skeleton,.kn-detail-card-container .state{margin:20px 0}.kn-detail-tags-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kn-detail-tags-row .kn-category-tag{display:inline-flex;align-items:center;gap:5px}.kn-detail-status{border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.kn-detail-status.is-active{color:#047857;background:#d1fae5}.kn-detail-status.is-draft{color:#a16207;background:#fef3c7}.kn-detail-status.is-archived{color:#475569;background:#e2e8f0}.kn-detail-title{margin:18px 0 14px;color:#0f172a;font-size:22px;line-height:1.35;overflow-wrap:anywhere}.kn-detail-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 20px}.kn-detail-meta-grid div{min-width:0;padding:10px 12px;background:#f8fafc;border-radius:12px}.kn-detail-meta-grid div:first-child{grid-column:1 / -1}.kn-detail-meta-grid dt{color:#64748b;font-size:11px}.kn-detail-meta-grid dd{margin:3px 0 0;color:#172554;font-size:12px;font-weight:750;overflow-wrap:anywhere}.kn-detail-edit-button{width:100%;min-height:44px;margin:-7px 0 16px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #99f6e4;border-radius:12px;background:#f0fdfa;color:#0f766e;font-weight:800;cursor:pointer}.kn-detail-content-box{color:#334155;font-size:14px;line-height:1.75;overflow-wrap:anywhere}.kn-detail-content-box>:first-child{margin-top:0}.kn-detail-content-box>:last-child{margin-bottom:0}.kn-detail-content-box a{color:#0369a1;overflow-wrap:anywhere}.kn-detail-external-link{display:flex;align-items:center;gap:9px;margin-top:22px;padding:13px 14px;border:1px solid #bae6fd;border-radius:14px;background:#f0f9ff;color:#075985;font-size:13px;font-weight:750;text-decoration:none}.kn-detail-external-link span{flex:1}.kn-detail-attachments{margin-top:22px;padding-top:18px;border-top:1px solid #e2e8f0}.kn-detail-attachments h3{margin:0 0 12px;color:#0f172a;font-size:14px}.kn-detail-attachment{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:11px;border-radius:12px;background:#f8fafc}.kn-detail-attachment>div:nth-child(2){min-width:0;display:flex;flex:1;flex-direction:column}.kn-detail-attachment strong{color:#1e293b;font-size:12px;overflow-wrap:anywhere}.kn-detail-attachment button{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border:1px solid #99f6e4;border-radius:12px;background:#f0fdfa;color:#0f766e;cursor:pointer}.kn-detail-attachment button:disabled{cursor:wait;opacity:.55}.kn-detail-attachment .kn-attachment-actions{display:flex;flex:0 0 auto;gap:6px}.kn-detail-attachment .kn-attachment-actions .is-delete{border-color:#fecaca;background:#fff1f2;color:#be123c}.kn-attachment-delete-confirm{flex:1 0 100%;display:grid;gap:8px;padding:10px;border-radius:11px;background:#fff1f2}.kn-attachment-delete-confirm p{margin:0;color:#9f1239;font-size:11px;font-weight:700}.kn-attachment-delete-confirm div{display:grid;grid-template-columns:1fr 1.4fr;gap:7px}.kn-attachment-delete-confirm button{width:auto;height:38px;border-color:#cbd5e1;background:#fff;color:#475569}.kn-attachment-delete-confirm button:last-child{border-color:#be123c;background:#be123c;color:#fff}.kn-detail-attachment span,.kn-detail-attachments p{color:#64748b;font-size:11px}.kn-detail-attachments p{margin:8px 0 0}.kn-detail-attachments .kn-detail-action-error{color:#b91c1c;font-weight:700}.kn-detail-sharing{margin-top:22px;padding-top:18px;border-top:1px solid #e2e8f0}.kn-detail-contribution{margin-top:22px;padding:18px 14px 14px;border:1px solid #fed7aa;border-radius:16px;background:#fffaf5}.kn-contribution-notice{display:flex;flex-direction:column;gap:3px;margin-top:13px;padding:11px;border-radius:12px;background:#fff;color:#475569;font-size:11px}.kn-contribution-notice strong{color:#9a3412}.kn-contribution-state{display:flex;gap:10px;margin-top:13px;padding:12px;border-radius:13px;background:#fff;color:#a16207}.kn-contribution-state.is-approved{background:#ecfdf5;color:#047857}.kn-contribution-state.is-rejected{background:#fff1f2;color:#be123c}.kn-contribution-state>div:last-child{min-width:0;display:flex;flex-direction:column;gap:3px}.kn-contribution-state strong{font-size:12px}.kn-contribution-state span,.kn-contribution-state p{margin:0;color:#64748b;font-size:10.5px;line-height:1.45}.kn-contribution-state b{color:#047857}.kn-contribution-note{display:block;margin-top:13px;color:#334155;font-size:11px;font-weight:750}.kn-contribution-note span{color:#94a3b8;font-weight:500}.kn-detail-contribution textarea{width:100%;min-height:86px;margin-top:6px;padding:11px;border:1px solid #cbd5e1;border-radius:12px;resize:vertical;box-sizing:border-box;font:inherit;font-size:12px;outline:none}.kn-detail-contribution textarea:focus{border-color:#f97316;box-shadow:0 0 0 3px #f973161a}.kn-contribution-submit{width:100%;min-height:44px;margin-top:9px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:12px;background:#ea580c;color:#fff;font-weight:800;cursor:pointer}.kn-contribution-submit:disabled{cursor:wait;opacity:.6}.kn-reward-confirmation{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:12px;padding:13px;border:1px solid #fcd34d;border-radius:14px;background:#fffbeb;color:#b45309}.kn-reward-confirmation>div:nth-child(2){display:flex;flex-direction:column;gap:3px}.kn-reward-confirmation strong{color:#92400e;font-size:13px}.kn-reward-confirmation span,.kn-reward-confirmation p{margin:0;color:#64748b;font-size:10.5px;line-height:1.45}.kn-reward-confirmation.is-confirmed{border-color:#a7f3d0;background:#ecfdf5;color:#047857}.kn-reward-confirmation.is-confirmed strong{color:#047857}.kn-reward-confirmation.is-disputed{border-color:#fecdd3;background:#fff1f2;color:#be123c}.kn-reward-confirmation.is-disputed strong{color:#be123c}.kn-reward-actions{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.kn-reward-actions button{min-height:42px;border-radius:11px;font-weight:800;cursor:pointer}.kn-reward-actions .is-confirm{border:0;background:#059669;color:#fff}.kn-reward-actions .is-dispute{border:1px solid #fb923c;background:#fff;color:#c2410c}.kn-reward-actions button:disabled{cursor:not-allowed;opacity:.5}.kn-reward-source-error,.kn-reward-dispute-form{grid-column:1 / -1}.kn-reward-source-error{color:#b91c1c!important;font-weight:700}.kn-reward-dispute-form{display:grid;gap:7px;padding-top:4px}.kn-reward-dispute-form label{color:#9f1239;font-size:11px;font-weight:750}.kn-reward-dispute-form textarea{min-height:74px;padding:10px;border:1px solid #fda4af;border-radius:11px;resize:vertical;font:inherit;font-size:12px}.kn-reward-dispute-form>div{display:grid;grid-template-columns:1fr 2fr;gap:8px}.kn-reward-dispute-form button{min-height:40px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#475569;font-weight:750}.kn-reward-dispute-form button:last-child{border:0;background:#e11d48;color:#fff}.kn-detail-section-title{display:flex;align-items:flex-start;gap:9px;color:#0f766e}.kn-detail-section-title h3{margin:0;color:#0f172a;font-size:14px}.kn-detail-section-title p,.kn-share-help{margin:3px 0 0;color:#64748b;font-size:11px}.kn-shared-list{display:grid;gap:8px;margin-top:14px}.kn-shared-person{display:flex;align-items:center;gap:9px;padding:9px;border-radius:12px;background:#f8fafc}.kn-shared-avatar{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:50%;background:#ccfbf1;color:#0f766e;font-weight:800}.kn-shared-person>div:nth-child(2){min-width:0;flex:1;display:flex;flex-direction:column}.kn-shared-person strong{color:#1e293b;font-size:12px;overflow-wrap:anywhere}.kn-shared-person span{color:#64748b;font-size:10px}.kn-shared-person button{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:11px;background:#fff1f2;color:#be123c;cursor:pointer}.kn-share-search{display:flex;align-items:center;gap:8px;margin-top:14px;padding:0 12px;border:1px solid #cbd5e1;border-radius:12px;color:#64748b}.kn-share-search:focus-within{border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a61f}.kn-share-search input{min-width:0;width:100%;height:42px;border:0;outline:0;background:transparent;font-size:13px}.kn-share-results{max-height:220px;overflow-y:auto;display:grid;gap:6px;margin-top:9px}.kn-share-results label{display:flex;align-items:center;gap:9px;padding:9px;border-radius:11px;background:#f8fafc;cursor:pointer}.kn-share-results input{width:18px;height:18px;accent-color:#0f766e}.kn-share-results span{min-width:0;display:flex;flex-direction:column}.kn-share-results strong{color:#1e293b;font-size:12px}.kn-share-results small{color:#64748b;font-size:10px}.kn-share-submit{width:100%;min-height:44px;margin-top:12px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:12px;background:#0f766e;color:#fff;font-weight:800;cursor:pointer}.kn-share-submit:disabled,.kn-shared-person button:disabled{cursor:not-allowed;opacity:.5}.kn-detail-sharing .kn-detail-action-error{color:#b91c1c;font-size:11px;font-weight:700}.kn-detail-source{margin-top:24px;padding-top:14px;border-top:1px solid #e2e8f0;color:#64748b;font-size:11px;text-align:center}.kn-detail-empty{display:grid;justify-items:center;gap:14px;padding:30px 10px;text-align:center;color:#334155}.kn-detail-empty button{border:0;border-radius:12px;padding:11px 16px;background:#0f766e;color:#fff;font-weight:750}.kn-system-admin-actions{display:grid;gap:12px;margin:18px 0;padding:15px;border:1px solid #fbbf24;border-radius:16px;background:#fffbeb}.kn-system-admin-actions>div:first-child{display:grid;gap:3px}.kn-system-admin-actions strong{color:#78350f;font-size:14px}.kn-system-admin-actions span{color:#92400e;font-size:12px;line-height:1.45}.kn-system-admin-actions>button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;color:#fff;font-weight:800}.kn-system-admin-actions .is-publish{background:#059669}.kn-system-admin-actions .is-archive{background:#b45309}.kn-system-admin-actions button:disabled{opacity:.6;cursor:wait}.kn-archive-confirm{display:grid;gap:10px;padding:12px;border-radius:12px;background:#fff;border:1px solid #fed7aa}.kn-archive-confirm p{margin:0;color:#9a3412;font-size:13px;font-weight:700}.kn-archive-confirm div{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}.kn-archive-confirm button{min-height:42px;border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#334155;font-weight:750}.kn-archive-confirm button:last-child{border-color:#b45309;background:#b45309;color:#fff}@media(min-width:720px){.kn-detail-main-body{max-width:720px;margin-left:auto;margin-right:auto}.kn-detail-meta-grid{grid-template-columns:2fr 1fr 1fr}.kn-detail-meta-grid div:first-child{grid-column:auto}}.create-kn-page-v2{min-height:100vh;min-height:100dvh;width:100%;background:#f8fafc;padding-bottom:96px;position:relative;overflow-x:hidden;box-sizing:border-box}.create-kn-hero-navy{background:linear-gradient(180deg,#070d1e,#0b1736 60%,#0e1e42);padding:16px 16px 36px;border-bottom-left-radius:26px;border-bottom-right-radius:26px;box-shadow:0 8px 24px #070d1e40;position:relative;overflow:hidden}.create-kn-top-nav-row{display:flex;align-items:center;justify-content:space-between}.create-kn-nav-btn{width:38px;height:38px;border-radius:50%;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s ease}.create-kn-nav-btn:hover{background:#ffffff38}.create-kn-header-title{font-size:17px;font-weight:700;color:#fff;margin:0;letter-spacing:-.2px}.create-kn-main-body{padding:0 16px;margin-top:-20px;position:relative;z-index:5}.create-kn-card-container{background:#fff;border-radius:22px;padding:22px 18px 26px;box-shadow:0 10px 30px #0f172a0f;border:1px solid #F1F5F9;display:flex;flex-direction:column;gap:16px}.create-kn-field-group{display:flex;flex-direction:column;gap:6px}.create-kn-label{font-size:13px;font-weight:700;color:#0f172a}.create-kn-input,.create-kn-select{width:100%;padding:11px 14px;border-radius:12px;border:1px solid #CBD5E1;font-size:13.5px;outline:none;background:#fff;color:#0f172a;box-sizing:border-box}.create-kn-textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid #CBD5E1;font-size:13.5px;outline:none;background:#fff;color:#0f172a;resize:vertical;min-height:120px;box-sizing:border-box;font-family:inherit}.create-kn-input:focus,.create-kn-select:focus,.create-kn-textarea:focus{border-color:#2563eb}.create-kn-checkbox-card{background:#fffbeb;border:1px solid #FDE68A;border-radius:14px;padding:12px 14px;display:flex;align-items:flex-start;gap:10px;cursor:pointer}.btn-create-kn-submit{width:100%;padding:14px;border-radius:14px;background:linear-gradient(135deg,#ff2d55,#e11d48);color:#fff;border:none;font-size:14.5px;font-weight:800;cursor:pointer;box-shadow:0 6px 18px #ff2d5559;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;transition:all .15s ease}.btn-create-kn-submit:hover{transform:translateY(-1px);box-shadow:0 8px 22px #ff2d5573}.btn-create-kn-submit:disabled{cursor:not-allowed;opacity:.55;transform:none}.btn-create-kn-submit.is-publish{margin-top:-6px;background:linear-gradient(135deg,#0f766e,#0d9488);box-shadow:0 6px 18px #0d948840}.create-kn-help{color:#64748b;font-size:11.5px;line-height:1.45;margin:0}.create-kn-counter{color:#94a3b8;font-size:10px;text-align:right}.create-kn-save-note{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;color:#1e40af;display:flex;font-size:12px;gap:9px;line-height:1.45;padding:11px 13px}.create-kn-error{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#b91c1c;font-size:12px;margin:0;padding:9px 11px}.create-kn-file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.create-kn-file-picker{min-height:48px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px dashed #14b8a6;border-radius:13px;background:#f0fdfa;color:#0f766e;font-size:12px;font-weight:750;cursor:pointer}.create-kn-file-list{display:grid;gap:5px;margin:0;padding:9px 12px 9px 28px;border-radius:11px;background:#f8fafc;color:#475569;font-size:11px;overflow-wrap:anywhere}.career-page-v2{min-height:100vh;min-height:100dvh;width:100%;background:#f8fafc;padding-bottom:96px;position:relative;overflow-x:hidden;box-sizing:border-box}.career-main-body{padding:16px;position:relative;z-index:5}.career-card-container{background:#fff;border-radius:22px;padding:20px 16px 24px;box-shadow:0 10px 30px #0f172a0f;border:1px solid #F1F5F9;display:flex;flex-direction:column;gap:20px}.career-current-card{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#fff;border:1px solid #F1F5F9;border-radius:18px;box-shadow:0 4px 14px #0f172a08;cursor:pointer;transition:background-color .15s ease}.career-current-card:hover{background:#f8fafc}.career-current-left{display:flex;align-items:center;gap:14px}.career-current-avatar-box{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#ffe4e6,#fecdd3);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#e11d48;flex-shrink:0}.career-current-info{display:flex;flex-direction:column}.career-current-title{font-size:16px;font-weight:800;color:#0f172a;margin:0 0 4px}.career-current-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:#f1f5f9;font-size:11px;font-weight:600;color:#64748b;width:fit-content}.career-current-right{color:#94a3b8}.career-timeline-list{display:flex;flex-direction:column;position:relative;padding-left:8px}.career-level-row{display:flex;align-items:center;justify-content:space-between;padding:14px 12px 14px 0;position:relative;cursor:pointer;border-radius:14px;transition:background-color .15s ease}.career-level-row.highlighted{background:#f8fafc;padding-left:8px;border:1px solid #F1F5F9}.career-level-left{display:flex;align-items:center;gap:16px;position:relative;z-index:2}.career-rail-line{position:absolute;left:17px;top:0;bottom:0;width:2px;background:#e2e8f0;z-index:1}.career-rail-line.completed{background:#3b82f6}.career-rail-line.current{background:linear-gradient(180deg,#3b82f6,#ff2d55)}.career-node-circle{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;z-index:2;transition:all .2s ease}.career-node-completed{background:#dbeafe;color:#2563eb;border:2px solid #3B82F6}.career-node-current{background:#ff2d55;color:#fff;box-shadow:0 4px 12px #ff2d5566}.career-node-future{background:#f8fafc;color:#94a3b8;border:2px solid #E2E8F0}.career-level-name{font-size:14px;font-weight:700;color:#0f172a;margin:0}.career-level-right{display:flex;align-items:center;gap:8px}.career-progress-pct{font-size:13.5px;font-weight:700}.career-progress-pct.done{color:#10b981}.career-progress-pct.active,.career-progress-pct.upcoming{color:#0f172a}.career-progress-pct.future{color:#94a3b8}.btn-career-details{width:100%;padding:13px;border-radius:12px;background:#f8fafc;border:1px solid #F1F5F9;color:#1e293b;font-size:14px;font-weight:700;cursor:pointer;transition:background-color .15s ease}.btn-career-details:hover{background:#f1f5f9}.career-path-complete{display:flex;align-items:center;justify-content:center;gap:7px;padding:13px;border-radius:13px;background:#ecfdf5;color:#047857;font-size:12px;font-weight:750}.career-data-source{margin:14px 0 0;color:#94a3b8;font-size:10px;line-height:1.45;text-align:center}.career-criteria-page-v2{min-height:100vh;min-height:100dvh;width:100%;background:var(--page-background);padding-bottom:calc(var(--bottom-nav-height, 64px) + env(safe-area-inset-bottom,0px) + 32px);position:relative;overflow-x:hidden;box-sizing:border-box}.criteria-main-body{padding:14px 16px 24px;max-width:540px;margin:0 auto;box-sizing:border-box}.criteria-card-container{background:var(--card-background);border-radius:var(--card-radius, 20px);padding:20px 16px 24px;box-shadow:var(--card-shadow);border:1px solid var(--border-color);display:flex;flex-direction:column;gap:16px;box-sizing:border-box}.criteria-summary-block{text-align:center;padding:16px;background:linear-gradient(135deg,#0f172a,#1e293b);border-radius:var(--radius-md, 16px);color:#fff}.criteria-big-percent{font-size:36px;font-weight:800;letter-spacing:-.02em;color:#60a5fa}.criteria-summary-sub{font-size:12px;color:#94a3b8;margin:4px 0 0}.criteria-banner-mandatory{display:flex;align-items:center;gap:8px;background:#fffbeb;border:1px solid #FDE68A;color:#b45309;padding:10px 14px;border-radius:var(--radius-sm, 10px);font-size:12.5px;font-weight:600}.criteria-list-wrapper{display:flex;flex-direction:column;gap:10px}.criteria-item-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#f8fafc;border:1px solid var(--border-color);border-radius:var(--radius-sm, 12px);gap:10px}.criteria-item-left{display:flex;align-items:flex-start;gap:10px;min-width:0;flex:1}.criteria-item-icon-box{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.criteria-item-icon-box.passed{color:#059669}.criteria-item-icon-box.failed{color:#dc2626}.criteria-item-name{font-size:13px;font-weight:700;color:var(--text-primary);display:flex;flex-direction:column;gap:4px;min-width:0;line-height:1.35;word-break:break-word}.criteria-title-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.criteria-mandatory-badge{display:inline-flex;align-items:center;gap:3px;background:#fff1f2;border:1px solid #FECDD3;color:#e11d48;font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:var(--radius-full)}.criteria-meta-details{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.5px;font-weight:500;color:var(--text-secondary)}.criteria-source-tag{background:#eff6ff;border:1px solid #DBEAFE;color:#2563eb;font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:4px}.criteria-status-label{font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:var(--radius-full);flex-shrink:0}.criteria-status-label.passed{background:#ecfdf5;color:#047857}.criteria-status-label.failed{background:#fee2e2;color:#dc2626}.btn-criteria-request-training{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;background:#eff6ff;border:1px solid #BFDBFE;color:#2563eb;border-radius:var(--radius-sm, 10px);font-size:13px;font-weight:700;cursor:pointer;transition:all var(--duration-fast) var(--ease)}.btn-criteria-request-training:hover{background:#dbeafe}.btn-career-apply{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;background:var(--primary-action, #FF2D55);color:#fff;border:none;border-radius:var(--radius-sm, 10px);font-size:13.5px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #ff2d554d}.btn-career-apply:disabled{opacity:.65;cursor:not-allowed}.career-apply-result{font-size:12.5px;padding:8px 12px;border-radius:var(--radius-sm, 8px);margin:0}.career-apply-result.is-success{background:#ecfdf5;color:#047857;border:1px solid #A7F3D0}.career-apply-result.is-error{background:#fef2f2;color:#b91c1c;border:1px solid #FECACA}.career-criteria-source{font-size:11px;color:var(--text-secondary);text-align:center;margin:0;border-top:1px solid var(--border-color);padding-top:10px}.training-page{min-height:100vh;min-height:100dvh;width:100%;background:var(--page-background, #F8FAFC);padding-bottom:calc(var(--bottom-nav-height, 64px) + env(safe-area-inset-bottom,0px) + 32px);position:relative;overflow-x:hidden;box-sizing:border-box}.training-main{padding:14px 16px 24px;max-width:540px;margin:0 auto;box-sizing:border-box;display:flex;flex-direction:column;gap:14px}.training-filter-section{display:flex;flex-direction:column;gap:10px}.training-search-box{position:relative;width:100%;display:flex;align-items:center}.training-search-icon{position:absolute;left:12px;color:var(--text-secondary, #64748B);pointer-events:none}.training-search-input{width:100%;min-height:44px;padding:10px 36px;background:#fff;border:1px solid var(--border-color, #E2E8F0);border-radius:var(--radius-md, 12px);font-size:13.5px;color:var(--text-primary, #0F172A);outline:none;box-sizing:border-box;transition:border-color var(--duration-fast, .15s) var(--ease)}.training-search-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.training-search-clear{position:absolute;right:10px;background:#e2e8f0;border:none;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#475569;cursor:pointer}.training-tab-pills{display:flex;align-items:center;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.training-tab-pills::-webkit-scrollbar{display:none}.training-tab-btn{padding:7px 12px;border-radius:var(--radius-full, 999px);background:#fff;border:1px solid var(--border-color, #E2E8F0);color:var(--text-secondary, #64748B);font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer;min-height:36px;transition:all var(--duration-fast, .15s) var(--ease)}.training-tab-btn.active{background:#0f172a;color:#fff;border-color:#0f172a}.training-result-card{background:#ecfdf5;border:1px solid #A7F3D0;border-radius:var(--radius-md, 14px);padding:14px 16px;display:flex;flex-direction:column;gap:10px;animation:fadeIn .2s ease-out}.training-result-header{display:flex;align-items:flex-start;gap:10px}.training-result-icon{color:#059669;flex-shrink:0;margin-top:2px}.training-result-text{display:flex;flex-direction:column;gap:2px}.training-result-text strong{font-size:13.5px;color:#065f46}.training-result-text span{font-size:12px;color:#047857}.btn-training-view-proposal{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:8px 14px;background:#059669;color:#fff;border:none;border-radius:var(--radius-sm, 8px);font-size:12.5px;font-weight:700;cursor:pointer;box-shadow:0 2px 6px #05966940;transition:background-color var(--duration-fast, .15s) var(--ease)}.btn-training-view-proposal:hover{background:#047857}.training-list{display:flex;flex-direction:column;gap:12px}.training-card{display:flex;align-items:flex-start;gap:14px;padding:16px;background:#fff;border-radius:var(--card-radius, 16px);border:1px solid var(--border-color, #F1F5F9);box-shadow:0 4px 14px #0f172a0a;box-sizing:border-box}.training-card-icon{width:44px;height:44px;border-radius:var(--radius-sm, 12px);background:#eff6ff;color:#2563eb;display:flex;align-items:center;justify-content:center;flex-shrink:0}.training-card-content{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.training-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.training-title-wrap{display:flex;flex-direction:column;gap:3px;min-width:0}.training-code-badge{font-size:10.5px;font-weight:800;color:#2563eb;text-transform:uppercase;letter-spacing:.03em}.training-card-top h2{font-size:14.5px;font-weight:700;color:var(--text-primary, #0F172A);margin:0;line-height:1.35;word-break:break-word}.training-status-tag{font-size:11px;font-weight:700;padding:2px 8px;border-radius:var(--radius-full, 999px);white-space:nowrap;flex-shrink:0}.training-status-tag.is-not_enrolled{background:#f1f5f9;color:var(--text-secondary, #64748B)}.training-status-tag.is-assigned{background:#ede9fe;color:#7c3aed}.training-status-tag.is-pending_approval{background:#fef3c7;color:#d97706}.training-status-tag.is-enrolled,.training-status-tag.is-in_progress{background:#eff6ff;color:#2563eb}.training-status-tag.is-completed{background:#ecfdf5;color:#047857}.training-status-tag.is-overdue{background:#fef2f2;border:1px solid #FECACA;color:#dc2626}.training-description{font-size:12.5px;color:var(--text-secondary, #64748B);margin:0;line-height:1.45;word-break:break-word}.training-meta{display:flex;align-items:center;gap:12px;font-size:11.5px;color:#94a3b8;margin-top:2px;flex-wrap:wrap}.training-meta span{display:inline-flex;align-items:center;gap:4px}.btn-training-enroll{align-self:flex-start;margin-top:6px;min-height:44px;padding:8px 16px;background:var(--primary-action, #FF2D55);color:#fff;border:none;border-radius:var(--radius-sm, 10px);font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;box-shadow:0 4px 12px #ff2d5540;transition:background-color var(--duration-fast, .15s) var(--ease),transform var(--duration-fast, .15s) var(--ease)}.btn-training-enroll:hover{background:var(--primary-action-hover, #E11D48);transform:translateY(-1px)}.training-source{border-top:1px solid var(--border-color, #E2E8F0);color:var(--text-secondary, #94A3B8);font-size:11px;margin:12px 0 0;padding-top:12px;text-align:center}.training-dialog-backdrop{position:fixed;inset:0;z-index:1000;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}.training-dialog{background:#fff;border-radius:var(--card-radius, 20px);padding:22px;width:min(100%,460px);box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;gap:14px;box-sizing:border-box;max-height:90vh;overflow-y:auto}.training-dialog h2{font-size:16.5px;font-weight:800;margin:0;color:var(--text-primary, #0F172A)}.dialog-course-title{font-size:14px;color:#2563eb;font-weight:700;word-break:break-word}.dialog-label{font-size:12.5px;font-weight:700;color:var(--text-primary, #0F172A);display:flex;align-items:center;gap:2px}.dialog-required-mark{color:#dc2626}.dialog-textarea{width:100%;box-sizing:border-box;background:#f8fafc;border:1px solid var(--border-color, #CBD5E1);border-radius:var(--radius-sm, 10px);padding:10px 12px;font-family:inherit;font-size:13.5px;outline:none;resize:vertical;min-height:80px}.dialog-textarea:focus{border-color:#2563eb}.dialog-note-box{background:#f8fafc;border:1px solid #E2E8F0;border-radius:var(--radius-sm, 8px);padding:10px 12px;display:flex;align-items:flex-start;gap:8px}.dialog-note-icon{color:#64748b;flex-shrink:0;margin-top:2px}.dialog-note{font-size:12px;color:var(--text-secondary, #64748B);margin:0;line-height:1.4}.dialog-buttons-row{display:flex;gap:10px;margin-top:4px}.btn-dialog-cancel{flex:1;min-height:44px;background:#e2e8f0;color:var(--text-primary, #0F172A);border:none;border-radius:var(--radius-sm, 10px);font-weight:700;cursor:pointer;transition:background-color .15s ease}.btn-dialog-cancel:hover:not(:disabled){background:#cbd5e1}.btn-dialog-confirm{flex:2;min-height:44px;background:var(--primary-action, #FF2D55);color:#fff;border:none;border-radius:var(--radius-sm, 10px);font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;box-shadow:0 2px 8px #ff2d554d;transition:background-color .15s ease}.btn-dialog-confirm:hover:not(:disabled){background:var(--primary-action-hover, #E11D48)}.btn-dialog-confirm:disabled{opacity:.55;cursor:not-allowed}.training-error{background:#fef2f2;border:1px solid #FECACA;color:#b91c1c;font-size:12.5px;padding:10px 12px;border-radius:var(--radius-sm, 8px);margin:0}.ai-assistant-page-v2{height:calc(100dvh - var(--bottom-nav-height, 64px) - env(safe-area-inset-bottom,0px));min-height:0;width:100%;background:var(--page-background);padding-bottom:0;position:relative;overflow:hidden;box-sizing:border-box;display:flex;flex-direction:column}.ai-assistant-page-v2>.page-header-container{flex:0 0 auto}.ai-nav-action-btn{width:40px;height:40px;min-width:40px;min-height:40px;border-radius:var(--radius-full);background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--duration-fast) var(--ease)}.ai-nav-action-btn:hover{background:#ffffff38}.ai-main-body{padding:12px 14px 14px;max-width:540px;width:100%;margin:0 auto;flex:1;min-height:0;display:flex;flex-direction:column;box-sizing:border-box}.ai-card-container{background:var(--card-background);border-radius:var(--card-radius, 20px);padding:14px;box-shadow:var(--card-shadow);border:1px solid var(--border-color);display:flex;flex-direction:column;gap:14px;flex:1;min-height:0;max-height:100%;overflow:hidden;box-sizing:border-box}.ai-messages-list{flex:1;display:flex;flex-direction:column;gap:14px;overflow-y:auto;overflow-x:hidden;padding-bottom:8px;min-height:0;max-height:none;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.ai-messages-list::-webkit-scrollbar{width:4px}.ai-messages-list::-webkit-scrollbar-thumb{border-radius:999px;background:#cbd5e1}.ai-message-row{display:flex;align-items:flex-start;gap:10px;width:100%}.ai-message-row.user{justify-content:flex-end}.ai-msg-avatar{width:34px;height:34px;border-radius:50%;background:#eff6ff;border:1px solid #DBEAFE;color:#2563eb;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-msg-bubble-bot{max-width:84%;background:#f1f5f9;border-radius:4px 16px 16px;padding:12px 14px;font-size:13.5px;line-height:1.45;color:var(--text-primary);display:flex;flex-direction:column;gap:8px;word-break:break-word}.ai-msg-bubble-user{max-width:84%;background:var(--primary-action, #FF2D55);border-radius:16px 4px 16px 16px;padding:12px 14px;font-size:13.5px;line-height:1.45;color:#fff;box-shadow:0 4px 12px #ff2d5540;word-break:break-word}.ai-message-sources{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.ai-answer-content{display:grid;gap:8px;min-width:0}.ai-answer-content p{margin:0}.ai-answer-content ul{display:grid;gap:5px;margin:0;padding-left:20px}.ai-answer-content strong{color:var(--navy-900);font-weight:800}.ai-message-sources span{font-size:11px;background:#e2e8f0;color:#475569;padding:2px 8px;border-radius:var(--radius-full);font-weight:600}.ai-thinking{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-secondary);background:#f8fafc;padding:8px 12px;border-radius:var(--radius-sm, 10px)}.ai-error{background:#fef2f2;border:1px solid #FECACA;color:#991c1c;font-size:12.5px;padding:8px 12px;border-radius:var(--radius-sm, 8px)}.ai-empty-chat{margin:auto 12px;color:var(--text-secondary);font-size:13.5px;line-height:1.6;text-align:center}.ai-suggested-prompts-row{display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px 0;-webkit-overflow-scrolling:touch}.ai-suggested-prompts-row::-webkit-scrollbar{display:none}.ai-prompt-pill{padding:7px 14px;border-radius:var(--radius-full);background:var(--card-background);border:1px solid #DBEAFE;color:#2563eb;font-family:inherit;font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer;transition:all var(--duration-fast) var(--ease);min-height:36px;display:inline-flex;align-items:center}.ai-prompt-pill:hover:not(:disabled){background:#eff6ff}.ai-prompt-pill:disabled{opacity:.5;cursor:not-allowed}.ai-safe-actions{background:#f8fafc;border:1px solid #E2E8F0;border-radius:var(--radius-md, 14px);padding:12px 14px;display:flex;flex-direction:column;gap:10px}.ai-safe-actions-title{display:flex;align-items:center;gap:10px}.ai-safe-icon-wrap{width:32px;height:32px;border-radius:8px;background:#ecfdf5;color:#059669;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-safe-title-text{display:flex;flex-direction:column}.ai-safe-title-text strong{font-size:13px;color:var(--text-primary);font-weight:700}.ai-safe-title-text span{font-size:11.5px;color:var(--text-secondary)}.ai-safe-action-buttons{display:flex;flex-wrap:wrap;gap:8px}.ai-safe-btn{flex:1;min-width:110px;min-height:40px;padding:6px 12px;border-radius:var(--radius-sm, 10px);background:#fff;border:1px solid #CBD5E1;color:#1e293b;font-size:12.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all var(--duration-fast) var(--ease)}.ai-safe-btn:hover{background:#eff6ff;border-color:#93c5fd;color:#2563eb}.ai-action-modal-overlay{position:fixed;inset:0;background:#070d1ea6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:fadeInOverlay .2s ease-out}.ai-action-sheet{background:#fff;width:100%;max-width:500px;border-top-left-radius:20px;border-top-right-radius:20px;padding:16px 20px calc(16px + env(safe-area-inset-bottom,0px));box-shadow:0 -10px 30px #0003;display:flex;flex-direction:column;gap:14px;animation:slideUpSheet .25s cubic-bezier(.16,1,.3,1);box-sizing:border-box;max-height:85vh;overflow-y:auto}.ai-action-sheet-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.ai-action-sheet-header strong{font-size:15.5px;color:var(--text-primary)}.ai-action-close-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px}.ai-action-close-btn:hover{background:#f1f5f9}.ai-action-form{display:flex;flex-direction:column;gap:12px}.ai-form-label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:600;color:var(--text-secondary)}.ai-form-select,.ai-form-input,.ai-form-textarea{width:100%;padding:9px 12px;border:1.5px solid var(--border-color);border-radius:var(--radius-sm, 10px);font-size:14px;color:var(--text-primary);background:#fff;outline:none;box-sizing:border-box;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}.ai-form-select:focus,.ai-form-input:focus,.ai-form-textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.ai-form-hint{font-size:11.5px;color:#64748b}.ai-action-primary{min-height:44px;padding:10px 16px;background:var(--primary-action, #FF2D55);color:#fff;border:none;border-radius:var(--radius-sm, 10px);font-size:14px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background-color var(--duration-fast) var(--ease)}.ai-action-primary:hover:not(:disabled){background:var(--primary-action-hover, #E11D48)}.ai-action-primary:disabled{opacity:.5;cursor:not-allowed}.ai-action-confirm{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 8px;gap:8px}.ai-confirm-icon{width:52px;height:52px;border-radius:50%;background:#ecfdf5;color:#059669;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.ai-action-confirm strong{font-size:15px;color:var(--text-primary)}.ai-action-confirm p{font-size:12.5px;color:var(--text-secondary);margin:0}.ai-confirm-buttons{display:flex;gap:10px;width:100%;margin-top:10px}.ai-btn-back{flex:1;min-height:44px;padding:10px 14px;background:#f1f5f9;color:#475569;border:none;border-radius:var(--radius-sm, 10px);font-size:13.5px;font-weight:600;cursor:pointer}.ai-action-success{background:#ecfdf5;border:1px solid #A7F3D0;color:#065f46;font-size:13px;padding:10px 14px;border-radius:var(--radius-sm, 10px);text-align:center;font-weight:600}.ai-input-wrapper{display:flex;align-items:center;gap:8px;padding-top:4px;flex:0 0 auto;background:var(--card-background)}.ai-input-box{flex:1;background:#f8fafc;border:1px solid var(--border-color);border-radius:var(--radius-md, 12px);padding:6px 12px;display:flex;align-items:center}.ai-input-field{width:100%;background:transparent;border:none;outline:none;font-family:inherit;font-size:13.5px;color:var(--text-primary)}.btn-ai-send{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:var(--radius-sm, 10px);background:var(--primary-action, #FF2D55);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #ff2d554d;transition:all var(--duration-fast) var(--ease)}.btn-ai-send:hover:not(:disabled){background:var(--primary-action-hover, #E11D48)}.btn-ai-send:disabled{opacity:.45;cursor:not-allowed}@media(max-width:420px){.ai-main-body{padding:10px}.ai-card-container{gap:10px;padding:12px;border-radius:18px}.ai-empty-chat{margin:auto 8px;font-size:13px}.ai-msg-bubble-bot,.ai-msg-bubble-user{max-width:88%}}.ai-history-panel{display:flex;flex-direction:column;gap:10px}.ai-history-header{display:flex;align-items:center;justify-content:space-between}.ai-history-header h3{font-size:15px;font-weight:700;margin:0;color:var(--text-primary)}.ai-history-header button{background:transparent;border:none;cursor:pointer;color:var(--text-secondary)}.ai-new-chat{padding:8px 14px;background:#0f172a;color:#fff;border:none;border-radius:var(--radius-sm, 10px);font-size:12.5px;font-weight:700;cursor:pointer;width:fit-content}.ai-history-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm, 10px);background:var(--card-background)}.ai-history-item button:first-child{background:transparent;border:none;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px;flex:1}.ai-history-item button:first-child strong{font-size:13px;color:var(--text-primary)}.ai-history-item button:first-child span{font-size:11px;color:var(--text-secondary)}.ai-history-item button:last-child{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px}.ai-delete-confirm{background:#fef2f2;border:1px solid #FECACA;padding:12px;border-radius:var(--radius-sm, 10px);display:flex;flex-direction:column;gap:6px;font-size:12.5px}.ai-delete-confirm div{display:flex;gap:8px;margin-top:4px}.ai-delete-confirm button{padding:4px 10px;border-radius:var(--radius-sm, 6px);border:none;font-size:12px;font-weight:700;cursor:pointer}.ai-delete-confirm button:first-child{background:#e2e8f0;color:#334155}.ai-delete-confirm button:last-child{background:#dc2626;color:#fff}.admin-operations-page{min-height:100%;padding-bottom:110px;background:var(--background)}.admin-operations-page>main{display:grid;gap:14px;max-width:900px;margin:0 auto;padding:16px}.admin-op-menu{display:grid;gap:10px}.admin-op-menu>button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;min-height:76px;padding:14px;border:1px solid var(--border);border-radius:18px;color:var(--navy-900);background:var(--surface);text-align:left;box-shadow:var(--shadow-sm)}.admin-op-menu>button>svg:first-child{padding:9px;box-sizing:content-box;border-radius:12px;color:var(--teal-700);background:var(--teal-50)}.admin-op-menu>button span{display:grid;gap:3px}.admin-op-menu>button strong{font-size:14px}.admin-op-menu>button small{color:var(--muted);font-size:11px}.admin-op-menu>button em{width:max-content;padding:3px 7px;border-radius:999px;color:#0f766e;background:#ecfdf5;font-size:10px;font-style:normal;font-weight:800}.admin-op-menu>button.active{border-color:var(--teal-300);background:var(--teal-50)}.admin-op-menu>button.active>svg:last-child{transform:rotate(180deg)}.admin-op-section{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.admin-op-section>h3,.admin-op-form h3{margin:0;color:var(--navy-900);font-size:15px}.admin-op-form{display:grid;gap:10px;padding:14px;border-radius:14px;background:#f8fafc}.admin-op-form label{display:grid;gap:5px;color:#475569;font-size:12px;font-weight:700}.admin-op-form input,.admin-op-form textarea,.admin-op-form select{width:100%;padding:11px;border:1px solid var(--border);border-radius:11px;background:#fff;font:inherit}.admin-op-form button,.admin-op-actions button{min-height:42px;padding:0 14px;border:0;border-radius:11px;color:#fff;background:var(--teal-700);font-weight:800}.admin-op-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.admin-op-check input{width:auto}.admin-op-list{display:grid;gap:9px}.admin-op-item{display:grid;gap:10px;padding:13px;border:1px solid var(--border);border-radius:14px}.admin-op-item span{color:var(--teal-700);font-size:10px;font-weight:800;text-transform:uppercase}.admin-op-item h3{margin:3px 0;color:var(--navy-900);font-size:14px}.admin-op-item p{margin:0;color:var(--muted);font-size:12px}.admin-op-actions{display:flex;gap:8px}.admin-op-actions button{flex:1}.admin-op-actions button.secondary{border:1px solid var(--border);color:#475569;background:#fff}.admin-op-task,.admin-op-document-buttons button{display:grid;gap:4px;width:100%;padding:13px;border:1px solid var(--border);border-radius:13px;color:var(--navy-900);background:#fff;text-align:left}.admin-op-task span{color:var(--teal-700);font-size:10px;font-weight:800}.admin-op-task small{color:var(--muted)}.admin-op-document-buttons{display:grid;gap:8px}.admin-op-document-buttons button.active{border-color:var(--teal-400);background:var(--teal-50)}.admin-op-notice{padding:10px 12px;border-radius:11px;color:#065f46;background:#ecfdf5;font-size:12px;font-weight:700}.admin-op-error{padding:11px 13px;border:1px solid #fecaca;border-radius:11px;color:#b91c1c;background:#fef2f2;font-size:12px;font-weight:700}.admin-feed-toolbar,.admin-feed-item-head,.admin-feed-form-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-feed-toolbar>div{display:grid;gap:3px}.admin-feed-toolbar strong{color:var(--navy-900);font-size:16px}.admin-feed-toolbar small{color:var(--muted);font-size:11px}.admin-feed-toolbar>button{display:flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border:0;border-radius:11px;color:#fff;background:var(--teal-700);font-weight:800;white-space:nowrap}.admin-feed-form-title button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--border);color:#475569;background:#fff}.admin-feed-filters{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.admin-feed-filters button{min-height:36px;padding:0 12px;border:1px solid var(--border);border-radius:999px;color:#52677d;background:#fff;font-size:12px;font-weight:800;white-space:nowrap}.admin-feed-filters button.active{border-color:var(--teal-700);color:#fff;background:var(--teal-700)}.admin-feed-item{border-left:4px solid #94a3b8}.admin-feed-item.status-draft{border-left-color:#f59e0b}.admin-feed-item.status-published{border-left-color:var(--teal-600)}.admin-feed-item.status-archived{border-left-color:#94a3b8;opacity:.82}.admin-feed-item-head{align-items:flex-start}.admin-feed-item-head>b{padding:5px 8px;border-radius:999px;color:#92400e;background:#fef3c7;font-size:10px;white-space:nowrap}.admin-feed-preview-toggle{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:40px;border:1px solid #cbd5e1;border-radius:10px;color:#0f5261;background:#f8fafc;font-weight:800}.admin-feed-preview-toggle svg:last-child{margin-left:auto;transition:transform .15s ease}.admin-feed-preview-toggle svg.open{transform:rotate(180deg)}.admin-feed-preview{padding:12px;border-radius:11px;color:#334155;background:#f8fafc}.admin-feed-preview strong{font-size:12px}.admin-feed-preview p{margin-top:7px;color:#334155;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.admin-feed-preview small{color:#64748b;font-size:11px;font-weight:700}.admin-campaign-audience-note{display:flex;align-items:flex-start;gap:8px;padding:11px 12px;border:1px solid #99f6e4;border-radius:12px;color:#0f766e;background:#f0fdfa;font-size:11.5px;line-height:1.45}.admin-op-actions button{display:flex;align-items:center;justify-content:center;gap:6px}.admin-archive-button{color:#64748b!important}@media(max-width:420px){.admin-feed-toolbar{align-items:flex-start}.admin-feed-toolbar small{max-width:190px}.admin-feed-admin{padding-bottom:84px}}.admin-op-intro,.admin-op-current{display:grid;gap:4px;padding:14px 16px;border-radius:16px;color:#0f2742;background:#e9f8f5}.admin-op-intro strong,.admin-op-current strong{font-size:16px}.admin-op-intro span,.admin-op-current span{color:#52677d;font-size:12px;line-height:1.5}.admin-op-back{display:flex;align-items:center;gap:8px;width:max-content;padding:10px 12px;border:1px solid var(--border);border-radius:12px;color:#0f5261;background:#fff;font-weight:800}.admin-op-current{border-left:4px solid var(--teal-600);background:#fff;box-shadow:var(--shadow-sm)}@media(min-width:720px){.admin-op-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-op-section{padding:20px}}:root{font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#0f172a;background:#f8fafc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--page-background: #F8FAFC;--header-background: linear-gradient(180deg, #070D1E 0%, #0B1736 60%, #0E1E42 100%);--card-background: #FFFFFF;--primary-action: #EF4D8D;--primary-action-hover: #DB2777;--success-color: #10B981;--danger-color: #EF4444;--warning-color: #F59E0B;--text-primary: #0F172A;--text-secondary: #475569;--border-color: #E2E8F0;--card-radius: 16px;--header-radius: 26px;--card-shadow: 0 4px 20px -2px rgba(15, 23, 42, .06), 0 2px 6px -1px rgba(15, 23, 42, .03);--bottom-nav-height: 64px;--floating-button-bottom: 78px;--navy-900: #0B1D33;--navy-800: #102A43;--navy-700: #1A365D;--navy-600: #243B53;--navy-500: #334E68;--navy-400: #486581;--navy-300: #627D98;--teal-700: #0f766e;--teal-600: #0d9488;--teal-500: #14b8a6;--teal-400: #2dd4bf;--teal-100: #ccfbf1;--teal-50: #f0fdfa;--teal-glow: rgba(13, 148, 136, .2);--pink-600: var(--primary-action-hover);--pink-500: var(--primary-action);--pink-400: #f472b6;--pink-100: #fce7f3;--pink-glow: rgba(239, 77, 141, .15);--primary: var(--teal-600);--primary-dark: var(--teal-700);--primary-light: var(--teal-500);--accent: var(--teal-50);--accent-mint: var(--teal-100);--danger: var(--danger-color);--danger-bg: #fef2f2;--danger-border: #fecaca;--success: var(--success-color);--success-bg: #ecfdf5;--success-border: #a7f3d0;--warning: var(--warning-color);--warning-bg: #fffbeb;--warning-border: #fde68a;--surface: var(--card-background);--surface-glass: rgba(255, 255, 255, .92);--surface-elevated: var(--card-background);--bg: var(--page-background);--bg-subtle: var(--page-background);--text: var(--text-primary);--muted: #64748b;--muted-light: #94a3b8;--border: var(--border-color);--border-light: #f1f5f9;--border-focus: var(--primary-action);--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 2px 8px rgba(15, 23, 42, .05);--shadow-md: var(--card-shadow);--shadow-lg: 0 20px 40px -8px rgba(15, 23, 42, .12), 0 8px 20px -4px rgba(15, 23, 42, .04);--shadow-teal: 0 8px 24px -4px rgba(13, 148, 136, .3);--shadow-pink: 0 8px 24px -4px rgba(239, 77, 141, .25);--radius-xs: 6px;--radius-sm: 10px;--radius: var(--card-radius);--radius-lg: 20px;--radius-xl: var(--header-radius);--radius-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--ease: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.16, 1, .3, 1);--duration-fast: .15s;--duration: .25s;--duration-slow: .4s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-width:320px;min-height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:manipulation;background-color:var(--bg);color:var(--text);line-height:1.5}html,#root{min-height:100%;overflow-x:hidden}button,input,select,textarea{font:inherit}a{color:var(--primary);text-decoration:none;transition:color var(--duration-fast) var(--ease)}a:hover{color:var(--primary-dark)}img{max-width:100%;height:auto}.skip-link{position:absolute;left:-9999px;top:var(--space-2);z-index:100;background:var(--navy-800);color:#fff;padding:var(--space-3) var(--space-5);border-radius:var(--radius);font-weight:700;font-size:14px}.skip-link:focus{left:var(--space-4)}.app-shell{max-width:1100px;margin:auto;min-height:100vh;min-height:100dvh;background:var(--bg);position:relative}.icon-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);color:var(--navy-500);background:transparent;border:none;cursor:pointer;transition:all var(--duration-fast) var(--ease);min-width:44px;min-height:44px}.icon-button:hover{background:var(--bg);color:var(--primary)}.icon-button .badge{position:absolute;right:2px;top:2px;background:var(--pink-500);color:#fff;border-radius:var(--radius-full);font-size:10px;font-weight:800;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0 4px;box-shadow:0 2px 6px #ef4d8d66;border:2px solid var(--surface)}.app-shell>main{padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px) + 24px);touch-action:manipulation}.ai-floating-launcher{position:fixed;right:max(18px,calc((100vw - 1180px)/2));bottom:calc(var(--floating-button-bottom) + env(safe-area-inset-bottom,0px));z-index:30;display:inline-flex;min-width:52px;min-height:52px;width:52px;height:52px;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--navy-900),var(--navy-800));box-shadow:var(--shadow-lg);color:#fff;font-weight:800;font-size:13px;border:2px solid rgba(255,255,255,.2);text-decoration:none;transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease);touch-action:manipulation}.ai-floating-launcher:hover{transform:translateY(-2px);color:#fff}.ai-floating-launcher:focus-visible{outline:3px solid var(--primary-action);outline-offset:3px}body.modal-open .ai-floating-launcher,body.modal-open .tasks-fab-create,body.modal-open .calendar-fab-create,:has(.period-picker-overlay) .ai-floating-launcher,:has(.period-picker-overlay) .tasks-fab-create,:has(.period-picker-overlay) .calendar-fab-create,:has(.celebration-overlay) .ai-floating-launcher,:has(.celebration-overlay) .tasks-fab-create,:has(.celebration-overlay) .calendar-fab-create,:has(.kn-review-form) .ai-floating-launcher,:has(.prop-decision-modal) .ai-floating-launcher,:has(.camera-modal) .ai-floating-launcher{display:none!important;opacity:0!important;pointer-events:none!important}.notifications-page{display:grid;gap:16px}.page-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.notification-count{display:inline-flex;align-items:center;gap:6px;color:var(--primary-action);font-size:13px;font-weight:800}.notification-list{display:grid;gap:10px}.notification-list .card{display:grid;gap:5px}.notification-list .is-unread{border-left:4px solid var(--primary-action);background:var(--pink-100)}.notification-empty{display:grid;justify-items:center;gap:8px;padding:32px 20px;text-align:center}.bottom-nav{position:fixed;z-index:20;bottom:0;left:0;right:0;margin:auto;max-width:1100px;min-height:var(--bottom-nav-height);padding:var(--space-2) max(var(--space-3),env(safe-area-inset-right)) calc(var(--space-2) + env(safe-area-inset-bottom,0px)) max(var(--space-3),env(safe-area-inset-left));display:grid;grid-template-columns:repeat(5,1fr);background:var(--surface-glass);border-top:1px solid var(--border-color);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.2px;transition:all var(--duration-fast) var(--ease);padding:var(--space-1) var(--space-1);border-radius:var(--radius-sm);min-height:52px;position:relative}.bottom-nav a:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%) scaleX(0);width:24px;height:3px;border-radius:0 0 3px 3px;background:var(--primary-action);transition:transform var(--duration) var(--ease-spring)}.bottom-nav a.active{color:var(--primary-action);font-weight:700}.bottom-nav a.active:before{transform:translate(-50%) scaleX(1)}.bottom-nav a:hover{color:var(--primary-action-hover)}.page{padding:var(--space-5) var(--space-4)}.page h1{font-size:24px;font-weight:800;letter-spacing:-.5px;color:var(--navy-800);margin:0;line-height:1.2}.page h2{font-size:16px;font-weight:700;color:var(--navy-700);margin:var(--space-6) 0 var(--space-3);line-height:1.3}.muted{color:var(--muted);font-size:13px}.badge-hr{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);background:var(--bg);color:var(--muted);font-size:11px;font-weight:600}.card{border:1px solid var(--border-color);border-radius:var(--card-radius);background:var(--card-background);padding:var(--space-4);box-shadow:var(--card-shadow);transition:box-shadow var(--duration) var(--ease)}.card-item-row{background:var(--card-background);border-radius:12px;border:1px solid var(--border-color);box-shadow:0 1px 3px #0f172a0a;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;margin-bottom:10px}.card-item-row:last-child{margin-bottom:0}.btn-pink-action{border:0;border-radius:var(--radius);padding:12px 20px;background:var(--primary-action);color:#fff;font-weight:700;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);box-shadow:var(--shadow-pink);transition:all var(--duration) var(--ease);position:relative;min-height:44px;white-space:nowrap}.btn-pink-action:hover:not(:disabled){background:var(--primary-action-hover);transform:translateY(-1px)}.btn-pink-action:active:not(:disabled){transform:translateY(0)}.button,.btn-primary{border:0;border-radius:var(--radius);padding:12px 20px;background:linear-gradient(135deg,var(--teal-600) 0%,var(--teal-700) 100%);color:#fff;font-weight:700;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);box-shadow:var(--shadow-teal);transition:all var(--duration) var(--ease);position:relative;overflow:hidden;min-height:44px;white-space:nowrap}.button:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--teal-500) 0%,var(--teal-600) 100%);box-shadow:0 10px 28px -4px #0d948866;transform:translateY(-1px)}.button:active:not(:disabled),.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.button:disabled,.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{border:1.5px solid var(--border);border-radius:var(--radius);padding:12px 20px;background:var(--surface);color:var(--text-secondary);font-weight:600;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);transition:all var(--duration-fast) var(--ease);min-height:44px}.btn-secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--accent)}.btn-ghost{border:none;border-radius:var(--radius);padding:10px 16px;background:transparent;color:var(--primary);font-weight:600;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);transition:all var(--duration-fast) var(--ease);min-height:44px}.btn-ghost:hover:not(:disabled){background:var(--accent)}.w-full{width:100%}.button:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-ghost:focus-visible,.bottom-nav a:focus-visible,.forgot-link:focus-visible,.icon-button:focus-visible,.checkbox-container:focus-within,.input-container .toggle-password-btn:focus-visible,.recovery-tab-btn:focus-visible,.dashboard-action-grid a:focus-visible,.dashboard-action-grid button:focus-visible{outline:3px solid var(--teal-500);outline-offset:2px}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-size:13px;font-weight:600;color:var(--text-secondary)}.input-container{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:14px;color:var(--muted-light);pointer-events:none;display:flex;align-items:center;justify-content:center;transition:color var(--duration-fast) var(--ease)}.input-container input{width:100%;border:1.5px solid var(--border);border-radius:var(--radius);padding:13px 14px 13px 44px;background:var(--bg-subtle);color:var(--text);font-size:14px;font-weight:500;outline:none;transition:all var(--duration) var(--ease);min-height:48px}.input-container input:focus{background:var(--surface);border-color:var(--teal-600);box-shadow:0 0 0 4px var(--teal-glow)}.input-container:focus-within .input-icon{color:var(--teal-600)}.input-container input::placeholder{color:var(--muted-light);font-weight:400}.input-container .toggle-password-btn{position:absolute;right:4px;background:none;border:none;color:var(--muted-light);cursor:pointer;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease)}.input-container .toggle-password-btn:hover{color:var(--primary)}.field-error{font-size:12px;color:var(--danger);font-weight:500;margin-top:var(--space-1);display:flex;align-items:center;gap:4px}.skeleton{display:grid;gap:var(--space-3);padding:var(--space-2) 0}.skeleton>span{display:block;background:linear-gradient(90deg,var(--border-light) 0%,var(--border) 50%,var(--border-light) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm);height:16px}.skeleton>span:first-child{width:70%;height:20px}.skeleton>span:nth-child(2){width:100%}.skeleton>span:nth-child(3){width:45%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.state{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-4);text-align:center}.state strong{font-size:14px;color:var(--text-secondary)}.state p{color:var(--muted);font-size:13px;max-width:280px}.state-error strong{color:var(--danger)}.state-unavailable{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-3);text-align:center}.state-unavailable .unavailable-icon{width:40px;height:40px;border-radius:var(--radius-full);background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--muted-light)}.state-unavailable .unavailable-label{font-size:13px;font-weight:600;color:var(--muted)}.state-unavailable .unavailable-desc{font-size:12px;color:var(--muted-light)}.inline-error{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--danger-bg);border:1px solid var(--danger-border);color:#b91c1c;font-size:13px;font-weight:500;line-height:1.5;animation:slideInDown .25s var(--ease-spring)}.inline-success{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--success-bg);border:1px solid var(--success-border);color:#065f46;font-size:13px;font-weight:500;line-height:1.5;animation:slideInDown .25s var(--ease-spring)}@keyframes slideInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.auth-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-6) var(--space-4);background:radial-gradient(ellipse 60% 50% at 20% 20%,rgba(13,148,136,.1),transparent),radial-gradient(ellipse 50% 60% at 80% 80%,rgba(16,42,67,.06),transparent),linear-gradient(180deg,var(--teal-50) 0%,var(--bg) 100%);position:relative;overflow:hidden}.auth-page:before{content:"";position:absolute;width:500px;height:500px;background:radial-gradient(circle,rgba(13,148,136,.06) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.auth-card{width:min(100%,420px);display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-8) var(--space-6);background:#fffffff5;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow-lg);position:relative;z-index:1;animation:cardFadeIn var(--duration-slow) var(--ease-spring)}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.brand-badge{width:56px;height:56px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--navy-800) 0%,var(--teal-700) 100%);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 12px 28px -4px #102a4359;margin-bottom:var(--space-2);position:relative}.brand-badge:after{content:"";position:absolute;inset:-2px;border-radius:calc(var(--radius-lg) + 2px);background:linear-gradient(135deg,var(--teal-400),transparent);z-index:-1;opacity:.4}.auth-card h1{font-size:22px;font-weight:800;letter-spacing:-.3px;color:var(--navy-800);margin:0}.auth-subtitle{font-size:13px;color:var(--muted);line-height:1.5;margin:0}.auth-options{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-top:var(--space-1)}.checkbox-container{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-secondary);font-weight:500;min-height:44px;font-size:13px}.checkbox-container input[type=checkbox]{accent-color:var(--teal-600);width:16px;height:16px;border-radius:4px;cursor:pointer}.forgot-link{font-size:13px;font-weight:600;color:var(--teal-600);display:inline-flex;align-items:center;min-height:44px}.forgot-link:hover{color:var(--teal-700);text-decoration:underline}.auth-footer{text-align:center;font-size:13px;color:var(--muted);padding-top:var(--space-4);border-top:1px solid var(--border-light)}.auth-footer a{font-weight:700}.spinner{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.recovery-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--bg);padding:4px;border-radius:var(--radius);margin-bottom:var(--space-2)}.recovery-tab-btn{border:none;background:transparent;padding:10px var(--space-2);border-radius:var(--radius-sm);font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:all var(--duration-fast) var(--ease);min-height:44px}.recovery-tab-btn.active{background:var(--surface);color:var(--teal-600);font-weight:700;box-shadow:var(--shadow-sm)}.recovery-tab-btn:hover:not(.active){color:var(--text-secondary)}.stepper-bar{display:flex;align-items:center;justify-content:space-between;position:relative;margin:var(--space-3) 0 var(--space-5);padding:0 var(--space-4)}.stepper-bar:before{content:"";position:absolute;top:14px;left:calc(16.66% + 14px);right:calc(16.66% + 14px);height:2px;background:var(--border);z-index:0}.step-item{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--muted-light);z-index:2;transition:color var(--duration) var(--ease)}.step-circle{width:28px;height:28px;border-radius:var(--radius-full);background:var(--border);color:var(--muted);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;transition:all var(--duration) var(--ease)}.step-item.active .step-circle{background:var(--teal-600);color:#fff;box-shadow:0 0 0 4px var(--teal-glow)}.step-item.active{color:var(--teal-600)}.step-item.completed .step-circle{background:var(--success);color:#fff}.step-item.completed{color:var(--success)}.otp-box-wrapper{display:flex;flex-direction:column;gap:var(--space-3)}.otp-input-large{text-align:center;font-size:28px!important;font-weight:800!important;letter-spacing:12px!important;padding:14px 10px!important}.otp-cooldown-badge{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:13px;color:var(--muted)}.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--teal-500);animation:pulseDot 1.5s infinite}@keyframes pulseDot{0%{transform:scale(.9);opacity:.7}50%{transform:scale(1.3);opacity:1}to{transform:scale(.9);opacity:.7}}.support-card{background:var(--accent);border:1px solid var(--accent-mint);border-radius:var(--radius-lg);padding:var(--space-5);font-size:13px;line-height:1.6;color:#134e4a;display:flex;flex-direction:column;gap:var(--space-3)}.support-card ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.support-card li{display:flex;align-items:center;gap:var(--space-2)}.dashboard-greeting{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5)}.dashboard-greeting-avatar{width:52px;height:52px;border-radius:var(--radius-full);object-fit:cover;border:3px solid var(--teal-100);box-shadow:var(--shadow-sm);flex-shrink:0}.dashboard-greeting-avatar-fallback{width:52px;height:52px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--teal-600),var(--teal-700));color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;flex-shrink:0;border:3px solid var(--teal-100)}.dashboard-greeting-text h1{margin-bottom:2px}.dashboard-greeting-text .greeting-time{font-size:13px;color:var(--muted);font-weight:500}.dashboard-grid{margin-top:var(--space-4)}.dashboard-operational-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-3)}.dashboard-widget{position:relative;overflow:hidden}.dashboard-widget h2{margin:0 0 var(--space-3);font-size:14px;font-weight:700;color:var(--navy-700)}.widget-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.widget-icon{width:40px;height:40px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.widget-icon-teal{background:var(--teal-50);color:var(--teal-600)}.widget-icon-pink{background:var(--pink-100);color:var(--pink-600)}.widget-icon-navy{background:#102a4314;color:var(--navy-600)}.widget-icon-warning{background:var(--warning-bg);color:var(--warning)}.operational-widget-ready{display:grid;gap:var(--space-2)}.operational-widget-ready>svg{color:var(--primary)}.operational-widget-ready p{margin:0;font-weight:700;font-size:14px}.dashboard-widget-error p{margin:0 0 var(--space-3);color:var(--danger);font-size:13px}.dashboard-load-error{margin-top:var(--space-5)}.profile-summary-widget{display:grid;grid-template-columns:72px 1fr;gap:var(--space-4);align-items:center}.profile-summary-widget>img,.profile-summary-widget>[role=img]{width:72px;height:72px;border-radius:var(--radius-full);object-fit:cover;border:3px solid var(--teal-100)}.profile-summary-widget>[role=img]{display:grid;place-items:center;background:linear-gradient(135deg,var(--teal-600),var(--teal-700));color:#fff;font-size:24px;font-weight:800}.profile-summary-widget dl{display:grid;gap:var(--space-2);margin:0}.profile-summary-widget dt{color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.profile-summary-widget dd{margin:0;font-weight:700;font-size:14px;color:var(--text)}.dashboard-quick-actions{margin-top:var(--space-6)}.dashboard-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-3)}.dashboard-action-grid a,.dashboard-action-grid button{min-height:88px;padding:var(--space-3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;text-align:center;cursor:pointer;transition:all var(--duration-fast) var(--ease)}.dashboard-action-grid a:hover{border-color:var(--teal-500);background:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.dashboard-action-grid a>svg,.dashboard-action-grid button>svg{width:24px;height:24px}.dashboard-action-grid a{color:var(--teal-700)}.dashboard-action-grid strong{font-size:13px;font-weight:700;color:var(--text)}.dashboard-action-grid span{color:var(--muted);font-size:11px;font-weight:500}.dashboard-action-grid button:disabled{cursor:not-allowed;opacity:.6}.recent-activity-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.recent-activity-list li{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border-light)}.recent-activity-list li:last-child{border-bottom:0}.activity-icon{width:32px;height:32px;border-radius:var(--radius-full);background:var(--bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--teal-600)}.activity-content{flex:1;display:grid;gap:2px}.activity-content span{font-size:13px;color:var(--text);font-weight:500}.recent-activity-list time{color:var(--muted);font-size:12px;white-space:nowrap;margin-left:auto;padding-top:2px}.profile-page{max-width:760px;margin:0 auto}.profile-card{margin-top:var(--space-4)}.profile-hero{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding-bottom:var(--space-5);border-bottom:1px solid var(--border-light);text-align:center}.profile-hero-avatar{position:relative}.profile-avatar,.profile-avatar-fallback{width:88px;height:88px;flex:0 0 88px;border-radius:var(--radius-full);object-fit:cover;border:3px solid var(--teal-100)}.profile-avatar-fallback{display:grid;place-items:center;background:linear-gradient(135deg,var(--teal-600),var(--teal-700));color:#fff;font-size:28px;font-weight:800}.profile-avatar-overlay{position:absolute;bottom:0;right:0;width:32px;height:32px;border-radius:var(--radius-full);background:var(--surface);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;transition:all var(--duration-fast) var(--ease)}.profile-avatar-overlay:hover{background:var(--teal-600);color:#fff;border-color:var(--teal-600)}.profile-avatar-editor{display:grid;justify-items:center;gap:var(--space-2)}.profile-avatar-editor input[type=file]{width:min(100%,250px);min-height:44px;font-size:12px}.profile-avatar-input-label{font-size:13px;font-weight:700}.profile-avatar-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.profile-avatar-editor progress{width:100%;height:6px;border-radius:3px;appearance:none;-webkit-appearance:none}.profile-avatar-editor progress::-webkit-progress-bar{background:var(--bg);border-radius:3px}.profile-avatar-editor progress::-webkit-progress-value{background:var(--teal-600);border-radius:3px}.profile-identity{display:flex;align-items:center;gap:var(--space-4);padding-bottom:var(--space-5);border-bottom:1px solid var(--border-light)}.profile-identity h2{margin:0 0 2px;font-size:18px}.profile-editable-note{display:inline-block;margin-top:4px;color:var(--teal-700);font-size:12px;font-weight:700}.profile-section{margin-top:var(--space-5)}.profile-section-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-light)}.profile-section-header svg{color:var(--teal-600);width:18px;height:18px}.profile-section-header h3{font-size:14px;font-weight:700;color:var(--navy-700);margin:0}.profile-fields{display:grid;gap:0;margin:0}.profile-field{padding:var(--space-3) 0;border-bottom:1px solid var(--border-light)}.profile-field:last-child{border-bottom:0}.profile-field dt{color:var(--muted);font-size:12px;font-weight:600;display:flex;align-items:center;gap:var(--space-2)}.profile-field dd{margin:4px 0 0;color:var(--text);font-weight:600;font-size:14px;overflow-wrap:anywhere}.profile-field dd>span+div{margin-top:var(--space-3)}.profile-phone-form{display:grid;gap:var(--space-3)}.profile-phone-form label{font-size:13px}.profile-phone-form input{width:100%;min-height:44px;padding:10px var(--space-3);border:1.5px solid var(--border);border-radius:var(--radius);font:inherit;font-size:14px;transition:border-color var(--duration-fast) var(--ease)}.profile-phone-form input:focus{border-color:var(--teal-600);outline:none;box-shadow:0 0 0 4px var(--teal-glow)}.profile-phone-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.toast-container{position:fixed;top:var(--space-4);right:var(--space-4);z-index:1000;display:flex;flex-direction:column;gap:var(--space-2);max-width:360px}.toast{padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-size:13px;font-weight:600;box-shadow:var(--shadow-lg);animation:toastIn var(--duration) var(--ease-spring);display:flex;align-items:center;gap:var(--space-3)}.toast-success{background:var(--success);color:#fff}.toast-error{background:var(--danger);color:#fff}@keyframes toastIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.connectivity-banner{background:var(--warning-bg);border-bottom:1px solid var(--warning-border);padding:var(--space-2) var(--space-4);text-align:center;font-size:13px;font-weight:600;color:#92400e}@media(min-width:768px){.page{padding:var(--space-8) var(--space-6)}.header-greeting{display:block}.bottom-nav{position:sticky;top:64px;bottom:auto;border-top:0;border-bottom:1px solid var(--border);padding:var(--space-1) var(--space-5);grid-template-columns:repeat(5,auto);justify-content:center;gap:var(--space-1)}.bottom-nav a{flex-direction:row;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:13px;min-height:44px}.bottom-nav a:before{top:auto;bottom:-1px;height:2px;width:100%;left:0;transform:scaleX(0);border-radius:2px 2px 0 0}.bottom-nav a.active:before{transform:scaleX(1)}.app-shell>main{padding-bottom:0}.dashboard-operational-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-fields{grid-template-columns:1fr 1fr;column-gap:var(--space-6)}.profile-hero{flex-direction:row;text-align:left;gap:var(--space-5)}}@media(min-width:1024px){.dashboard-operational-grid,.dashboard-action-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1200px){.dashboard-action-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}.attendance-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:700}.badge-active{background:#0d94881f;color:var(--teal-700)}.badge-completed{background:#22c55e1f;color:#16a34a}.badge-pending{background:#f59e0b1f;color:#d97706}.badge-present{background:#22c55e1f;color:#16a34a;padding:3px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:600}.badge-late{background:#ef44441f;color:#dc2626;padding:3px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:600}.badge-leave{background:#9333ea1f;color:#9333ea;padding:3px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:600}.badge-holiday{background:#3b82f61f;color:#2563eb;padding:3px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:600}.badge-absent{background:#64748b1f;color:#475569;padding:3px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:600}.attendance-widget-content{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-1)}.attendance-widget-status-row{display:flex;justify-content:space-between;align-items:center}.attendance-widget-state{display:flex;align-items:center;gap:var(--space-2)}.shift-name{font-size:12px}.attendance-view-all-link{display:inline-flex;align-items:center;gap:2px;font-size:12px;font-weight:600;color:var(--teal-600);text-decoration:none}.attendance-view-all-link:hover{text-decoration:underline}.attendance-widget-times{display:flex;align-items:center;background:var(--bg);padding:var(--space-2) var(--space-3);border-radius:var(--radius);justify-content:space-around}.time-block{display:flex;flex-direction:column;align-items:center;gap:2px}.time-label{font-size:11px;color:var(--muted)}.time-value{font-size:14px;font-weight:700;color:var(--text-primary)}.time-divider{width:1px;height:24px;background:var(--border)}.attendance-widget-actions{display:flex;flex-direction:column;gap:var(--space-2)}.attendance-quick-btn{width:100%;justify-content:center;padding:9px var(--space-3);font-size:13px;gap:var(--space-2)}.attendance-completed-msg{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:12px;font-weight:600;color:#16a34a;padding:var(--space-2);background:#22c55e14;border-radius:var(--radius)}.attendance-inline-error{display:flex;align-items:center;gap:var(--space-2);font-size:12px;color:#dc2626;background:#ef444414;padding:var(--space-2);border-radius:var(--radius-sm)}.attendance-page-container{max-width:800px;margin:0 auto}.attendance-header{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-6)}.attendance-nav-tabs{display:flex;background:var(--bg);padding:4px;border-radius:var(--radius-lg);gap:4px}.attendance-tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px var(--space-3);border:none;background:transparent;border-radius:var(--radius);font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;transition:all var(--duration-fast) var(--ease)}.attendance-header{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}@media(min-width:768px){.attendance-header{flex-direction:row;align-items:center;justify-content:space-between}}.attendance-title-wrapper h1{font-size:22px;font-weight:800;color:var(--navy-800)}.attendance-header-subtitle{font-size:13px;margin-top:2px}.attendance-nav-tabs{display:flex;background:var(--bg);padding:4px;border-radius:var(--radius-lg);border:1px solid var(--border);gap:4px;width:fit-content}.attendance-tab-btn{display:flex;align-items:center;gap:var(--space-2);padding:8px 16px;border:none;background:transparent;border-radius:var(--radius);font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;transition:all var(--duration-fast) var(--ease)}.attendance-tab-btn.active{background:var(--surface);color:var(--teal-600);font-weight:700;box-shadow:var(--shadow-sm)}.attendance-today-content{display:flex;flex-direction:column;gap:var(--space-4)}@media(min-width:992px){.attendance-today-layout-grid{display:grid;grid-template-columns:360px 1fr;gap:var(--space-5);align-items:start}}.attendance-col-left,.attendance-col-right{display:flex;flex-direction:column;gap:var(--space-4)}.attendance-clock-card{display:flex;flex-direction:column;align-items:center;padding:var(--space-6) var(--space-4);text-align:center;background:linear-gradient(135deg,#0d948814,#1e293b0a);border:1px solid rgba(13,148,136,.2);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.clock-badge-live{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#16a34a;background:#22c55e1f;padding:3px 10px;border-radius:var(--radius-full);margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.5px}.live-dot{width:7px;height:7px;border-radius:var(--radius-full);background:#16a34a;animation:livePulse 1.5s infinite}@keyframes livePulse{0%{transform:scale(.9);opacity:.7}50%{transform:scale(1.3);opacity:1}to{transform:scale(.9);opacity:.7}}.clock-date-text{font-size:13px;font-weight:600;color:var(--muted);margin-top:var(--space-1)}.clock-time-display{font-size:42px;font-weight:800;letter-spacing:2px;color:var(--navy-800);font-variant-numeric:tabular-nums;line-height:1.1;font-family:var(--font-mono, monospace)}.attendance-branch-info{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%}.branch-info-header{display:flex;align-items:center;gap:var(--space-2);font-size:13px;color:var(--navy-800)}.branch-gps-tag{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--muted);font-weight:600}.attendance-security-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.security-icon-wrapper{width:40px;height:40px;border-radius:var(--radius-full);background:#22c55e1a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.security-text strong{display:block;font-size:13px;color:var(--navy-800);margin-bottom:2px}.security-text p{font-size:11px;line-height:1.4}.attendance-status-overview-card{padding:var(--space-5);border-radius:var(--radius-xl)}.status-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);font-size:13px}.shift-badge{padding:4px 12px;background:#0d94881a;color:var(--teal-700);border-radius:var(--radius-full);font-size:12px;font-weight:700}.attendance-milestones{display:flex;align-items:center;justify-content:space-between;background:var(--bg);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);margin-bottom:var(--space-3)}.milestone-item{display:flex;align-items:center;gap:var(--space-3);opacity:.55;transition:opacity var(--duration-fast)}.milestone-item.active{opacity:1}.milestone-icon{width:40px;height:40px;border-radius:var(--radius-full);background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--teal-600);box-shadow:var(--shadow-sm)}.milestone-text{display:flex;flex-direction:column;gap:2px}.milestone-label{font-size:11px;color:var(--muted);font-weight:600}.milestone-time{font-size:15px;font-weight:800;color:var(--navy-800);font-family:var(--font-mono, monospace)}.milestone-arrow{color:var(--muted-light);font-size:18px}.today-work-duration{display:flex;align-items:center;gap:var(--space-2);font-size:13px;padding:var(--space-2) var(--space-3);background:#22c55e14;border-radius:var(--radius);color:#16a34a}.attendance-action-card{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);border-radius:var(--radius-xl)}.attendance-warning-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:#f59e0b1a;color:#d97706;border-radius:var(--radius);font-size:13px;font-weight:500}.attendance-note-box{display:flex;flex-direction:column;gap:var(--space-2)}.attendance-note-box label{font-size:12px;font-weight:600;color:var(--muted)}.attendance-note-input{width:100%;min-height:132px;padding:12px var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text-primary);font:inherit;font-size:16px;line-height:1.5;resize:vertical;transition:all var(--duration-fast)}.attendance-note-input::placeholder{color:var(--muted)}.attendance-note-input:focus{outline:none;border-color:var(--teal-500);background:var(--surface);box-shadow:0 0 0 3px #0d948826}.attendance-note-hint{color:var(--muted);font-size:12px;text-align:right}.attendance-main-button-wrapper{margin-top:var(--space-2)}.report-review-overlay{position:fixed;inset:0;z-index:1040;display:flex;align-items:center;justify-content:center;padding:16px;background:#0f172ab8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.report-review-card{width:100%;max-width:440px;max-height:min(88vh,720px);overflow-y:auto;padding:24px 20px 20px;border-radius:24px;background:var(--surface);box-shadow:0 24px 60px #0f172a59}.report-review-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;border-radius:16px;color:var(--teal-600);background:#0d94881f}.report-review-card h2{margin:0 0 6px;color:var(--navy-800);font-size:20px}.report-review-content{margin:18px 0;padding:16px;border:1px solid rgba(13,148,136,.22);border-radius:16px;background:#0d94880f;color:var(--text-primary);font-size:15px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.report-review-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:10px}.report-review-actions .btn{min-height:48px;justify-content:center}.attendance-action-buttons-group{display:flex;flex-direction:column;gap:var(--space-3)}@media(min-width:640px){.attendance-action-buttons-group{flex-direction:row;align-items:stretch}.attendance-action-buttons-group .attendance-big-btn{flex:1.5}.attendance-action-buttons-group .attendance-camera-btn{flex:1}}.attendance-camera-btn{min-height:56px;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--radius-xl);border:1.5px solid var(--border);background:var(--surface);color:var(--navy-800);transition:all .15s ease}.attendance-camera-btn:hover:not(:disabled){border-color:var(--teal-500);color:var(--teal-600);background:#0d94880f;transform:translateY(-2px);box-shadow:0 4px 12px #0d948826}.attendance-big-btn{width:100%;min-height:56px;font-size:16px;font-weight:800;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;gap:var(--space-3);border-radius:var(--radius-xl);box-shadow:0 6px 18px #0d94884d;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.attendance-big-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #0d948866}.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none}.btn-warning:hover:not(:disabled){background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 8px 24px #f59e0b66}.attendance-all-done-banner{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:#22c55e14;border-radius:var(--radius-xl);border:1px solid rgba(34,197,94,.2)}.attendance-all-done-banner h3{font-size:16px;margin-bottom:2px;color:#16a34a}.camera-modal-overlay{position:fixed;inset:0;background:#0f172abf;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1050;display:flex;align-items:center;justify-content:center;padding:var(--space-3, 12px);animation:celebrationFadeIn .2s ease-out;box-sizing:border-box}.camera-modal-card{position:relative;background:var(--surface);border-radius:var(--radius-2xl, 20px);width:100%;max-width:480px;max-height:calc(100dvh - 24px);box-shadow:0 25px 50px -12px #00000059;overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box}.camera-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.camera-header-left{display:flex;align-items:center;gap:var(--space-3)}.camera-badge-icon{width:36px;height:36px;border-radius:var(--radius-full);background:#0d94881f;display:flex;align-items:center;justify-content:center;color:var(--teal-600)}.camera-modal-header h3{font-size:15px;font-weight:700;color:var(--navy-800);margin-bottom:1px}.camera-subtitle{font-size:11px}.camera-close-btn{border:none;background:var(--bg);border-radius:var(--radius-full);width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;transition:background .15s ease}.camera-close-btn:hover{background:var(--border)}.camera-viewport-wrapper{position:relative;width:100%;height:clamp(240px,45vh,340px);background:#000;overflow:hidden;display:flex;align-items:center;justify-content:center}.camera-live-box,.camera-preview-box{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.camera-live-video,.camera-captured-img{width:100%;height:100%;object-fit:cover}.camera-live-video{transform:scaleX(-1)}.face-oval-guide{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center}.face-oval-line{width:200px;height:250px;border-radius:50%/45%;border:2px dashed rgba(255,255,255,.7);box-shadow:0 0 0 9999px #0006}.face-guide-hint{margin-top:var(--space-3);font-size:12px;font-weight:600;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8);background:#00000080;padding:3px 12px;border-radius:var(--radius-full)}.camera-spinner-overlay{position:absolute;inset:0;background:#0f172acc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);color:#fff}.camera-error-box{padding:var(--space-6);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);color:#fff}.camera-verified-tag{position:absolute;bottom:16px;background:#16a34ae6;color:#fff;font-size:12px;font-weight:700;padding:6px 14px;border-radius:var(--radius-full);display:inline-flex;align-items:center;gap:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 4px 12px #00000040}.camera-modal-actions{padding:var(--space-4) var(--space-5);background:var(--surface);border-top:1px solid var(--border)}.camera-actions-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.camera-actions-row .btn-primary,.camera-actions-row .btn-secondary{flex:1}.camera-snap-btn{min-height:44px;font-size:14px}.attendance-history-section{display:flex;flex-direction:column;gap:var(--space-4)}.attendance-month-selector{display:flex;align-items:center;justify-content:space-between;background:var(--surface);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.attendance-month-title{display:flex;align-items:center;gap:var(--space-3);font-size:16px;font-weight:700;color:var(--navy-800)}.btn-link-current-month{display:inline-flex;align-items:center;gap:4px;background:#0d94881a;color:var(--teal-600);border:1px solid rgba(13,148,136,.2);border-radius:var(--radius-full);padding:3px 10px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-link-current-month:hover{background:#0d94882e;transform:translateY(-1px)}.attendance-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}@media(min-width:768px){.attendance-stats-grid{grid-template-columns:repeat(4,1fr);gap:var(--space-4)}}.stat-card{background:var(--surface);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border);display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card-header{display:flex;align-items:center;justify-content:space-between}.stat-card-icon{opacity:.85}.stat-card-primary{border-left:4px solid var(--teal-500)}.stat-card-success{border-left:4px solid #16a34a}.stat-card-warning{border-left:4px solid #f59e0b}.stat-card-info{border-left:4px solid #2563eb}.stat-label{font-size:12px;color:var(--muted);font-weight:600}.stat-value{font-size:20px;font-weight:800;line-height:1.2}.stat-unit{font-size:12px;font-weight:600;color:var(--muted)}.stat-subtext{font-size:11px;color:var(--muted-light)}.attendance-records-list{display:flex;flex-direction:column;gap:var(--space-3)}.records-header-row{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-2)}.records-header{font-size:15px;font-weight:700;color:var(--navy-800)}.records-counter{font-size:12px;font-weight:600}.attendance-record-card{background:var(--surface);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-3);box-shadow:var(--shadow-sm);transition:transform .15s ease,border-color .15s ease}.attendance-record-card:hover{transform:translateY(-1px);border-color:var(--border-focus)}.record-top-row{display:flex;justify-content:space-between;align-items:center}.record-date{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.record-date-title{font-size:14px;font-weight:700;color:var(--navy-800)}.record-method-badge{font-size:10px;font-weight:700;color:var(--teal-700);background:#0d94881a;padding:2px 7px;border-radius:var(--radius-full);display:inline-flex;align-items:center;gap:3px;letter-spacing:.3px}.record-time-row{display:flex;align-items:center;gap:var(--space-4);font-size:13px;background:var(--bg);padding:var(--space-2) var(--space-3);border-radius:var(--radius)}.record-time-item{display:flex;align-items:center;gap:4px}.time-sublabel{color:var(--muted);font-size:12px}.time-display-val{color:var(--navy-800);font-family:var(--font-mono);font-weight:700}.record-time-divider{color:var(--muted-light);font-size:12px}.record-duration{margin-left:auto;font-size:12px;font-weight:700;color:var(--teal-600);display:flex;align-items:center;gap:4px}.record-note{font-size:12px;color:var(--muted);border-top:1px dashed var(--border-light);padding-top:var(--space-2)}.attendance-empty-records{display:flex;flex-direction:column;align-items:center;padding:var(--space-8);gap:var(--space-2);color:var(--muted);text-align:center;background:var(--surface);border-radius:var(--radius);border:1px dashed var(--border)}.attendance-loading{display:flex;flex-direction:column;align-items:center;padding:var(--space-8);gap:var(--space-3);color:var(--muted)}.attendance-error-card{display:flex;flex-direction:column;align-items:center;padding:var(--space-6);gap:var(--space-3);text-align:center}.celebration-overlay{position:fixed;inset:0;background:#0f172aa6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;animation:celebrationFadeIn .25s ease-out}@keyframes celebrationFadeIn{0%{opacity:0}to{opacity:1}}.celebration-card{position:relative;background:var(--surface, #ffffff);border-radius:var(--radius-xl, 20px);padding:20px 20px 22px;width:100%;max-width:420px;max-height:calc(100dvh - 32px);overflow-y:auto;text-align:center;box-shadow:0 20px 40px #00000040;animation:celebrationSlideUp .35s cubic-bezier(.175,.885,.32,1.275);z-index:10;margin:auto}@keyframes celebrationSlideUp{0%{transform:scale(.85) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.celebration-close-btn{position:absolute;top:12px;right:12px;border:none;background:var(--bg, #f1f5f9);border-radius:var(--radius-full, 9999px);width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--muted, #64748b);cursor:pointer;z-index:2}.celebration-badge{position:relative;width:56px;height:56px;margin:0 auto 10px}.celebration-icon-wrapper{width:56px;height:56px;border-radius:var(--radius-full, 9999px);background:linear-gradient(135deg,#22c55e26,#0d948840);display:flex;align-items:center;justify-content:center;color:#16a34a;animation:celebrationPulse 1.5s infinite}@keyframes celebrationPulse{0%{transform:scale(.95);box-shadow:0 0 #22c55e66}70%{transform:scale(1.05);box-shadow:0 0 0 14px #22c55e00}to{transform:scale(.95);box-shadow:0 0 #22c55e00}}.celebration-sparkle{position:absolute;color:#f59e0b}.celebration-sparkle-1{top:-4px;right:2px;animation:sparkleRotate 2s linear infinite}.celebration-sparkle-2{bottom:2px;left:-2px;animation:sparkleRotate 2s linear infinite reverse}@keyframes sparkleRotate{0%{transform:rotate(0) scale(.8)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(360deg) scale(.8)}}.celebration-title{font-size:18px;font-weight:800;color:var(--navy-800, #1e293b);margin-bottom:4px}.celebration-message{font-size:12.5px;color:var(--muted, #64748b);margin-bottom:12px;line-height:1.4}.checkout-wage-card{position:relative;display:grid;gap:4px;margin:0 0 12px;padding:12px 14px;overflow:hidden;border-radius:14px;color:#fff;background:linear-gradient(135deg,#059669,#0d9488 60%,#0891b2);box-shadow:0 8px 20px #05966938}.checkout-wage-card:after{content:"";position:absolute;width:80px;height:80px;right:-24px;top:-36px;border-radius:50%;background:#ffffff29}.checkout-wage-card>span{font-size:10.5px;font-weight:800;letter-spacing:.05em}.checkout-wage-card>strong{font-size:clamp(22px,6vw,28px);line-height:1.15;text-shadow:0 2px 6px rgba(0,0,0,.12)}.checkout-wage-card>small{font-size:12px;font-weight:700;opacity:.92}.checkout-wage-card.is-pending{background:linear-gradient(135deg,#475569,#334155)}.celebration-report-issue{display:block;margin:0 0 12px;color:#b45309;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.celebration-details{background:var(--bg, #f8fafc);border-radius:var(--radius, 10px);padding:10px 12px;display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-size:12.5px;border:1px solid var(--border-color, #e2e8f0)}.celebration-report{margin:0 0 12px;padding:10px 12px;border:1px solid rgba(13,148,136,.2);border-radius:10px;background:#0d94880f;text-align:left}.celebration-report>span{display:block;margin-bottom:4px;color:var(--teal-700, #0f766e);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.celebration-report p{max-height:80px;margin:0;overflow-y:auto;color:var(--text-primary, #0f172a);font-size:12.5px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.celebration-detail-row{display:flex;justify-content:space-between;align-items:center}.celebration-action-btn{width:100%;justify-content:center;padding:11px;font-size:14px;font-weight:700}.celebration-confetti-container{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.confetti-piece{position:absolute;top:-20px;width:10px;height:14px;opacity:.9;border-radius:2px;animation:confettiFall linear forwards}.confetti-1{background:#f59e0b;transform:rotate(15deg)}.confetti-2{background:#10b981;transform:rotate(-25deg)}.confetti-3{background:#3b82f6;transform:rotate(45deg)}.confetti-4{background:#ec4899;transform:rotate(-15deg)}.confetti-5{background:#8b5cf6;transform:rotate(30deg)}.confetti-6{background:#06b6d4;transform:rotate(-40deg)}@keyframes confettiFall{0%{top:-20px;transform:translateY(0) rotate(0) rotateX(0)}to{top:105%;transform:translateY(0) rotate(720deg) rotateX(360deg)}}
