:root{--green-dark:#1f5e46;--green:#2e7d5b;--green-light:#e6f2ec;--green-mid:#4c9c7c;--gray-900:#1f2937;--gray-700:#4b5563;--gray-500:#6b7280;--gray-300:#d1d5db;--gray-100:#f3f4f6;--blue:#2563eb;--blue-light:#eaf0fe;--amber:#d97706;--amber-light:#fef3e2;--purple:#7c3aed;--red:#dc2626;--white:#fff;--radius:12px;--shadow:0 2px 10px #0000000f;--shadow-lg:0 8px 28px #0000001a;--page-zoom:1}*{box-sizing:border-box}html,body,#root{height:100%}.page-zoom{zoom:var(--page-zoom)}body{color:var(--gray-900);background:#eef1f0;margin:0;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Segoe UI,sans-serif}button{font-family:inherit}a{color:inherit}.app-header{z-index:100;background:var(--white);border-bottom:1px solid var(--gray-300);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 32px;display:flex;position:sticky;top:0}.app-header .brand{color:var(--green-dark);align-items:center;gap:10px;font-weight:700;display:flex}.app-header .brand .logo-box{background:var(--green);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:800;display:flex}.app-header .sub{color:var(--gray-500);font-size:12px;font-weight:400}.header-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 10px;display:flex}.app-header .user-chip{color:var(--gray-700);background:var(--gray-100);white-space:normal;overflow-wrap:break-word;text-align:right;border-radius:20px;min-width:0;max-width:100%;padding:6px 12px;font-size:13px}.header-menu{flex-shrink:0;position:relative}.menu-btn{border:1px solid var(--gray-300);color:var(--gray-700);cursor:pointer;background:0 0;border-radius:8px;padding:6px 12px;font-size:16px;line-height:1;position:relative}.notif-dot{background:var(--red);color:var(--white);border-radius:50%;justify-content:center;align-items:center;min-width:16px;height:16px;font-size:10px;font-weight:800;line-height:1;display:flex;position:absolute;top:-5px;right:-5px}.menu-btn:hover{background:var(--gray-100)}.header-menu-panel{background:var(--white);border:1px solid var(--gray-300);box-shadow:var(--shadow-lg);z-index:110;border-radius:10px;flex-direction:column;gap:2px;min-width:200px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.menu-item{color:var(--gray-700);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:9px 12px;font-size:13.5px;font-weight:700}.menu-item:hover{background:var(--gray-100)}.menu-item-danger{color:#b91c1c}.notif-panel{min-width:260px;max-width:320px}.notif-list{flex-direction:column;gap:2px;max-height:184px;display:flex;overflow-y:auto}.notif-item{white-space:normal;line-height:1.35}.menu-item-lang{padding:2px 0}.menu-item-lang .lang-select{background-color:#0000;border:none;width:100%}.menu-item-lang .lang-select:hover{background-color:var(--gray-100)}.lang-select{appearance:none;background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%236b7280'%3E%3Cpath d='M5.5 7.5l4.5 4.5 4.5-4.5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 10px center;border:1px solid var(--gray-300);color:var(--gray-700);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background-size:14px;border-radius:20px;flex-shrink:0;width:180px;padding:6px 28px 6px 14px;font-size:12.5px;font-weight:700;overflow:hidden}.lang-select:hover{background-color:var(--gray-100)}@media (width<=760px){.app-header{gap:8px;padding:10px 16px}.app-header .sub{display:none}.header-right{flex:auto;gap:6px}.app-header .user-chip{text-align:left;margin-right:auto;padding:5px 10px;font-size:11.5px}}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:36px 40px}.badge-tag{background:var(--green-light);color:var(--green-dark);border-radius:20px;margin-bottom:14px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-block}.badge-tag.blue{background:var(--blue-light);color:var(--blue)}.badge-tag.amber{background:var(--amber-light);color:var(--amber)}.badge-tag.purple{color:var(--purple);background:#f3e8ff}.form-row{margin-bottom:16px}.form-row label{color:var(--gray-700);margin-bottom:6px;font-size:13px;font-weight:700;display:block}.form-row input,.form-row select,.form-row textarea{border:1px solid var(--gray-300);background:#fff;border-radius:8px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.form-row textarea{resize:vertical}.form-2col{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-3col{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.notice-box{color:#8a5a00;background:#fff7e6;border:1px solid #f2d493;border-radius:8px;margin-bottom:24px;padding:12px 14px;font-size:12.5px;line-height:1.7}.btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:13px 22px;font-size:14.5px;font-weight:700;transition:all .15s;display:inline-flex}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:var(--green-dark)}.btn-secondary{background:var(--gray-100);color:var(--gray-700)}.btn-secondary:hover{background:var(--gray-300)}.btn-sm{border-radius:8px;padding:8px 14px;font-size:13px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-outline{border:1px solid var(--gray-300);color:var(--gray-700);cursor:pointer;background:#fff;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:700}.btn-outline:hover{background:var(--gray-100)}.landing-wrap{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex;position:relative}.landing-title{text-align:center;margin-bottom:4px;font-size:28px;font-weight:800}.landing-sub{color:var(--gray-700);text-align:center;margin-bottom:36px;font-size:14px}.role-grid{grid-template-columns:repeat(4,1fr);gap:18px;width:100%;max-width:1180px;display:grid}.role-card{border-radius:var(--radius);box-shadow:var(--shadow);text-align:left;cursor:pointer;background:#fff;border:1.5px solid #0000;padding:26px 22px;transition:all .15s}.role-card:hover{border-color:var(--green-mid);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.role-icon{border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:14px;font-size:20px;display:flex}.role-title{margin-bottom:6px;font-size:15.5px;font-weight:800}.role-desc{color:var(--gray-500);font-size:12.5px;line-height:1.7}.phase-note{color:var(--gray-500);text-align:center;max-width:640px;margin-top:34px;font-size:12px;line-height:1.8}.landing-tabs{box-shadow:var(--shadow);background:#fff;border-radius:30px;gap:4px;margin-bottom:30px;padding:5px;display:flex}.landing-tab{cursor:pointer;color:var(--gray-500);white-space:nowrap;text-overflow:ellipsis;text-align:center;background:0 0;border:none;border-radius:24px;padding:9px 28px;font-size:13.5px;font-weight:700;transition:all .15s;overflow:hidden}.landing-tab.active{background:var(--green);color:#fff}.landing-tab:hover:not(.active){color:var(--gray-900)}.setup-wrap{max-width:760px;margin:48px auto;padding:0 20px 60px}.setup-header{align-items:center;gap:14px;margin-bottom:26px;display:flex}.setup-header-icon{background:var(--green-light);width:42px;height:42px;color:var(--green-dark);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:19px;display:flex}.setup-header-title{color:var(--gray-900);font-size:19px;font-weight:800;line-height:1.4}.wizard-stepper{align-items:center;margin-bottom:30px;display:flex}.wizard-step-icon{background:var(--gray-100);width:38px;height:38px;color:var(--gray-500);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;transition:all .15s;display:flex}.wizard-step.active .wizard-step-icon,.wizard-step.done .wizard-step-icon{background:var(--green);color:#fff}.wizard-step-line{background:var(--gray-300);flex:1;height:2px;margin:0 6px}.wizard-step-line.filled{background:var(--green)}.wizard-section-title{color:var(--gray-900);align-items:center;gap:8px;margin-bottom:20px;font-size:15px;font-weight:800;display:flex}.phone-input-row{gap:8px;display:flex}.phone-input-row input{flex:1 1 0;min-width:0}.phone-code-select{border:1px solid var(--gray-300);background:#fff;border-radius:8px;flex:0 0 96px;width:96px;padding:10px 8px;font-family:inherit;font-size:14px}.password-field{position:relative}.password-field input{padding-right:58px}.password-toggle-btn{cursor:pointer;color:var(--gray-500);background:0 0;border:none;padding:5px 8px;font-size:12px;font-weight:700;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-toggle-btn:hover{color:var(--gray-900)}.field-error{color:var(--red);margin-top:6px;font-size:12px}.wizard-nav{gap:12px;margin-top:10px;display:flex}.wizard-nav .btn{flex:1}.review-list{margin-bottom:24px}.review-row{border-bottom:1px solid var(--gray-100);justify-content:space-between;gap:12px;padding:10px 0;font-size:13.5px;display:flex}.review-row:last-child{border-bottom:none}.review-row .rl{color:var(--gray-500);flex-shrink:0}.review-row .rv{color:var(--gray-900);text-align:right;word-break:break-word;font-weight:700}@media (width<=480px){.phone-input-row{flex-direction:column}.phone-code-select{width:100%}.setup-header{gap:10px}.setup-header-title{font-size:16.5px}.wizard-nav{flex-direction:column}}.start-wrap{max-width:760px;margin:48px auto;padding:0 20px}.start-title{color:var(--gray-900);margin:0 0 8px;font-size:26px;font-weight:800}.start-desc{color:var(--gray-700);margin-bottom:22px;font-size:14.5px;line-height:1.9}.info-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:26px;display:grid}.info-item{background:var(--gray-100);text-align:center;border-radius:10px;padding:14px 16px}.info-item .num{color:var(--green-dark);font-size:20px;font-weight:800}.info-item .lb{color:var(--gray-500);margin-top:2px;font-size:12px}.q-topbar{border-bottom:1px solid var(--gray-300);background:#fff;padding:14px 32px}.q-progress-row{align-items:center;gap:14px;max-width:900px;margin:0 auto;display:flex}.q-progress-text{color:var(--green-dark);white-space:nowrap;font-size:13px;font-weight:700}.q-progress-track{background:var(--gray-100);border-radius:6px;flex:1;height:8px;overflow:hidden}.q-progress-fill{background:linear-gradient(90deg,var(--green-mid),var(--green));border-radius:6px;height:100%;transition:width .2s}.q-progress-pct{color:var(--gray-500);white-space:nowrap;font-size:12px}.q-timer{font-variant-numeric:tabular-nums;color:var(--gray-700);background:var(--gray-100,#f3f4f6);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:12.5px;font-weight:800}.q-timer.low{color:#b42318;background:#fde8e7}.q-wrap{max-width:820px;margin:36px auto;padding:0 20px 60px}.q-scene-label{color:#fff;background:var(--gray-700);border-radius:6px;margin-bottom:14px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.q-text{color:var(--gray-900);margin-bottom:6px;font-size:19px;font-weight:700;line-height:1.7}.q-sub{color:var(--gray-500);margin-bottom:26px;font-size:13px}.opt-list{flex-direction:column;gap:12px;margin-bottom:32px;display:flex}.opt-item{border:1.5px solid var(--gray-300);cursor:pointer;text-align:left;background:#fff;border-radius:10px;align-items:flex-start;gap:14px;width:100%;padding:16px 18px;transition:all .15s;display:flex}.opt-item:hover{border-color:var(--green-mid);background:var(--green-light)}.opt-item.selected{border-color:var(--green);background:var(--green-light);box-shadow:0 0 0 3px #2e7d5b1f}.opt-radio{border:2px solid var(--gray-300);border-radius:50%;flex-shrink:0;width:20px;height:20px;margin-top:2px;position:relative}.opt-item.selected .opt-radio{border-color:var(--green)}.opt-item.selected .opt-radio:after{content:"";background:var(--green);border-radius:50%;position:absolute;inset:3px}.opt-label{color:var(--gray-500);margin-right:4px;font-size:13px;font-weight:800}.opt-text{color:var(--gray-900);font-size:14.5px;line-height:1.6}.q-nav{justify-content:space-between;align-items:center;gap:12px;display:flex}.q-dotcount{color:var(--gray-500);font-size:12px}.done-wrap{text-align:center;max-width:600px;margin:70px auto;padding:0 20px}.done-icon{background:var(--green-light);width:74px;height:74px;color:var(--green);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;font-size:36px;display:flex}.done-title{margin-bottom:10px;font-size:22px;font-weight:800}.done-desc{color:var(--gray-700);margin-bottom:26px;font-size:14px;line-height:1.9}.done-meta{background:var(--gray-100);color:var(--gray-700);text-align:left;border-radius:10px;margin-bottom:22px;padding:16px 20px;font-size:13px}.done-meta div{justify-content:space-between;padding:4px 0;display:flex}.done-meta div span:first-child{color:var(--gray-500)}.coupon{border:2px dashed var(--amber);background:var(--amber-light);text-align:left;border-radius:12px;align-items:center;gap:16px;margin-bottom:26px;padding:18px 20px;display:flex}.coupon-icon{flex-shrink:0;font-size:30px}.coupon-title{color:#8a5a00;margin-bottom:4px;font-size:14px;font-weight:800}.coupon-desc{color:#8a5a00;font-size:12.5px;line-height:1.6}.coupon-code{letter-spacing:1px;background:#fff;border-radius:6px;margin-top:6px;padding:2px 8px;font-family:monospace;font-size:12.5px;font-weight:700;display:inline-block}.dash-wrap{max-width:1280px;margin:0 auto;padding:24px 28px 60px}.dash-tabs{border-bottom:1px solid var(--gray-300);gap:6px;margin-bottom:20px;display:flex;overflow:auto hidden}.dash-tab{color:var(--gray-500);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;text-align:left;background:0 0;border:none;border-bottom:2.5px solid #0000;flex-shrink:0;margin-bottom:-1px;padding:10px 16px;font-size:13.5px;font-weight:700;overflow:hidden}.dash-tab:hover:not(.active){color:var(--gray-700)}.side-nav{left:0;top:var(--side-nav-top,64px);z-index:50;background:var(--white);border-right:1px solid var(--gray-300);flex-direction:column;justify-content:space-between;width:210px;padding:16px 10px;display:flex;position:fixed;bottom:0;overflow-y:auto}.side-nav-list{flex-direction:column;gap:2px;display:flex}.side-nav-item{text-align:left;color:var(--gray-500);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-left:3px solid #0000;border-radius:8px;padding:10px 14px;font-size:13.5px;font-weight:700;overflow:hidden}.side-nav-item:hover:not(.active){background:var(--gray-100);color:var(--gray-700)}.nav-layout-toggle{border:1px dashed var(--gray-300);color:var(--gray-500);cursor:pointer;background:0 0;border-radius:8px;margin-top:12px;padding:7px 10px;font-size:11.5px}.nav-layout-toggle.inline{flex-shrink:0;margin:4px 0 6px auto}.nav-layout-toggle:hover{color:var(--green-dark);border-color:var(--green)}@media (width<=900px){.side-nav{width:170px}body.has-side-nav .dash-wrap{margin-left:170px}}.dash-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;display:flex}.dash-title{font-size:20px;font-weight:800}.dash-sub{color:var(--gray-500);margin-top:4px;font-size:12.5px}.dash-actions{gap:10px;display:flex}.kpi-row{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px;display:grid}.kpi-card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:18px 20px}.kpi-label{color:var(--gray-500);align-items:center;gap:6px;margin-bottom:8px;font-size:12.5px;display:flex}.kpi-value{color:var(--gray-900);font-size:26px;font-weight:800}.kpi-value.green{color:var(--green-dark)}.kpi-value.amber{color:var(--amber)}.kpi-unit{color:var(--gray-500);font-size:13px;font-weight:400}.kpi-delta{color:var(--green);margin-top:6px;font-size:11.5px}.kpi-sub{color:var(--gray-500);margin-top:6px;font-size:11.5px}.dash-grid{grid-template-columns:1.15fr 1fr;gap:18px;margin-bottom:20px;display:grid}.dash-grid.even{grid-template-columns:1fr 1fr}.dash-grid.tri{grid-template-columns:minmax(0,3fr) minmax(0,4fr) minmax(0,3fr)}.dash-grid.chart-pair{grid-template-columns:auto minmax(0,1fr)}.panel{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:20px 22px}.panel-title{justify-content:space-between;align-items:center;margin-bottom:14px;font-size:14.5px;font-weight:800;display:flex}.panel-title small{color:var(--gray-500);font-size:11.5px;font-weight:400}table.emp-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:13px}table.emp-table th{text-align:left;color:var(--gray-500);border-bottom:1px solid var(--gray-300);overflow-wrap:break-word;padding:8px 6px;font-size:11.5px;font-weight:700}table.emp-table th.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}table.emp-table th.sortable-th:hover{color:var(--gray-900)}table.emp-table td{border-bottom:1px solid var(--gray-100);vertical-align:middle;overflow-wrap:break-word;padding:10px 6px}.status-pill{text-align:center;white-space:nowrap;border-radius:20px;min-width:110px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.status-done{color:var(--green-dark);background:#e6f2ec}.status-pending{color:var(--red);background:#fdecec}.status-assigned{background:var(--blue-light);color:var(--blue)}.status-inprogress{background:var(--amber-light);color:var(--amber)}.status-ended{background:var(--gray-100);color:var(--gray-500)}table.emp-table tr.row-selected td{background:var(--blue-light)}.cycle-progress{flex-direction:column;gap:4px;display:flex}.cycle-progress-text{color:var(--gray-600);font-size:12px}.cycle-progress-track{background:var(--gray-100);border-radius:999px;height:6px;overflow:hidden}.cycle-progress-fill{background:var(--green);border-radius:999px;height:100%}.link-btn{color:var(--blue);cursor:pointer;background:0 0;border:none;font-size:12.5px;font-weight:700}.link-btn:hover{text-decoration:underline}.login-options-row{justify-content:space-between;align-items:center;margin:-4px 0 20px;display:flex}.checkbox-label{color:var(--gray-700);cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:15px;height:15px}.detail-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.avatar-circle{background:var(--green-light);width:44px;height:44px;color:var(--green-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:800;display:flex}.detail-name{font-size:15px;font-weight:800}.detail-meta{color:var(--gray-500);font-size:12px}.interp-box{background:var(--green-light);color:var(--gray-900);border-radius:10px;margin-top:14px;padding:14px 16px;font-size:12.5px;line-height:1.7}.interp-box b{color:var(--green-dark)}.interp-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--gray-500);margin-bottom:3px;font-size:10px;font-weight:800}.interp-heading{color:var(--green-dark);margin-bottom:5px;font-size:15px;font-weight:800}.interp-heading.amber{color:#8a5a00}.interp-subnote{border-top:1px dashed #00000026;margin-top:12px;padding-top:10px}.interp-element-tag{color:var(--gray-900);background:#00000012;border-radius:5px;margin-right:6px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-block}.axis-list{margin-top:10px}.axis-row{align-items:center;gap:10px;margin-bottom:7px;font-size:12px;display:flex}.axis-name{width:130px;color:var(--gray-700);flex-shrink:0}.axis-bar-track{background:var(--gray-100);border-radius:6px;flex:1;height:8px;overflow:hidden}.axis-bar-fill{border-radius:6px;height:100%}.axis-val{text-align:right;width:34px;color:var(--gray-900);font-weight:700}.modal-overlay{z-index:200;background:#0f171480;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-box{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;flex-direction:column;width:100%;max-width:720px;max-height:90vh;display:flex;overflow:hidden}.modal-box.wide{max-width:1040px}.page-zoom .modal-box{max-height:calc(90vh / var(--page-zoom))}.modal-header{border-bottom:1px solid var(--gray-100);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px 14px;display:flex}.modal-body{flex:auto;min-height:0;padding:16px 22px 20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--gray-300);background:#fff;justify-content:flex-end;gap:8px;margin:16px -22px -20px;padding:14px 22px;display:flex;position:sticky;bottom:0}.modal-title{font-size:14.5px;font-weight:800}.modal-close-btn{cursor:pointer;color:var(--gray-500);background:0 0;border:none;padding:4px;font-size:16px;line-height:1}.modal-close-btn:hover{color:var(--gray-900)}.placeholder-avatar{width:72px;height:72px;color:var(--purple);border:1.5px dashed var(--purple);background:#f3e8ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:30px;display:flex}.home-hero{background:linear-gradient(135deg, var(--green-dark), var(--green-mid));color:#fff;align-items:center;gap:16px;display:flex}.home-hero-avatar{letter-spacing:.02em;background:#ffffff2e;border:1.5px solid #ffffff59;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:19px;font-weight:800;display:flex}.home-hero-greeting{font-size:19px;font-weight:800}.home-hero-sub{opacity:.88;margin-top:3px;font-size:12.5px}.ongoing-card{border-left:4px solid var(--amber)}.days-pill.paused-pill{background:var(--amber-light);color:var(--amber)}.days-pill{color:var(--gray-500);background:var(--gray-100);border-radius:20px;margin-top:2px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.tier-badge{color:#fff;border-radius:14px;align-items:center;gap:10px;padding:14px 20px;font-weight:800;display:inline-flex}.tier-badge .tier-icon{font-size:26px}.tier-badge .tier-name{font-size:17px}.tier-badge .tier-sub{opacity:.9;font-size:11.5px;font-weight:500}.roster-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.inline-form{background:var(--gray-100);border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:20px;padding:16px;display:flex}.inline-form .form-row{flex:1;min-width:160px;margin-bottom:0}.inline-form.filters .form-row{flex:0 0 160px}.inline-form .form-row.narrow{flex:0 0 110px;min-width:0}.inline-form .form-row.wide{flex:320px}.inline-form .form-row.wide.company{flex:240px}.inline-form .form-row input,.inline-form .form-row select,.inline-form>.btn{height:42px}@media (width<=1300px){.dash-grid.tri{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1000px){.dash-grid,.dash-grid.even,.dash-grid.tri,.dash-grid.chart-pair{grid-template-columns:1fr}.kpi-row{grid-template-columns:repeat(2,1fr)}.info-grid,.form-2col,.form-3col,.role-grid{grid-template-columns:1fr}}.employee-shell{--radius:20px;--shadow:0 6px 20px #1f5e461a;--shadow-lg:0 14px 34px #1f5e4624;font-family:Nunito,Hiragino Kaku Gothic ProN,Yu Gothic,Segoe UI,sans-serif}.employee-shell .app-header{border-radius:0 0 20px 20px}.employee-shell .btn{border-radius:999px;font-weight:800;box-shadow:0 4px 12px #00000014}.employee-shell .btn:active{transform:scale(.97)}.employee-shell .q-progress-track{border-radius:999px;height:12px;position:relative}.employee-shell .q-progress-fill{border-radius:999px;position:relative}.employee-shell .q-progress-fill:after{content:"";border:2px solid var(--green);background:#fff;border-radius:50%;width:18px;height:18px;position:absolute;top:50%;right:-2px;transform:translateY(-50%);box-shadow:0 2px 6px #00000040}.employee-shell .opt-item{border-radius:16px;box-shadow:0 2px 8px #0000000a}.employee-shell .opt-item:hover{transform:translateY(-2px);box-shadow:0 6px 14px #00000014}.employee-shell .opt-item.selected{transform:translateY(-2px)}.employee-shell .tier-badge{border:2px solid #ffffff8c;border-radius:999px;padding:10px 22px 10px 12px;box-shadow:0 6px 16px #00000029}.employee-shell .tier-badge .tier-icon{background:#ffffff40;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.employee-shell .tier-badge .tier-name{letter-spacing:.02em;font-size:19px}.employee-shell .tier-badge .tier-sub{opacity:.92;font-weight:600}.employee-shell .placeholder-avatar{width:84px;height:84px;font-size:34px}.result-preview{border:1px solid var(--gray-200,#e5e7eb);text-align:center;background:#fff;border-radius:14px;margin:0 0 18px;padding:16px}.result-preview-label{color:var(--gray-500);margin-bottom:12px;font-size:12px;font-weight:700}.result-preview-body{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;display:flex}.employee-shell .avatar-caption{color:var(--purple);text-align:center;margin-top:6px;font-size:11px;font-weight:700}.employee-shell .hint-btn{background:var(--amber-light);color:#8a5a00;border:1.5px dashed var(--amber);cursor:pointer;white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:6px 14px;font-size:12.5px;font-weight:800;display:inline-flex}.employee-shell .hint-btn:hover{background:#fdeecb}.employee-shell .hint-box{background:var(--amber-light);border:1.5px dashed var(--amber);color:#8a5a00;border-radius:16px;margin-bottom:20px;padding:14px 16px;font-size:13px;line-height:1.6}.employee-results-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;display:grid}@media (width<=720px){.employee-results-grid{grid-template-columns:1fr}}.employee-shell .compare-header{flex-wrap:wrap;justify-content:center;align-items:center;gap:28px;margin-top:18px;display:flex}.employee-shell .compare-item{text-align:center}.employee-shell .compare-arrow{color:var(--gray-500);font-size:22px}.employee-shell .history-attempts-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.employee-shell .history-attempts-actions .badge-tag{margin-bottom:0}@media (width<=640px){.employee-shell .start-wrap{margin:20px auto;padding:0 14px}.employee-shell .card{padding:22px 18px}.employee-shell .start-title{font-size:21px}.employee-shell .info-grid{grid-template-columns:repeat(3,1fr);gap:8px}.employee-shell .info-item{padding:10px 6px}.employee-shell .info-item .num{font-size:16px}.employee-shell .info-item .lb{font-size:10.5px}.employee-shell .q-topbar{padding:10px 16px}.employee-shell .q-progress-row{flex-wrap:wrap;gap:8px 10px}.employee-shell .q-progress-track{flex:120px}.employee-shell .q-wrap{margin:20px auto;padding:0 14px 40px}.employee-shell .q-text{font-size:16.5px}.employee-shell .opt-item{gap:10px;padding:13px 14px}.employee-shell .opt-text{font-size:14px}.employee-shell .q-nav{flex-wrap:wrap}.employee-shell .q-nav .btn{flex:auto}.employee-shell .q-dotcount{text-align:center;order:3;width:100%}.employee-shell .done-wrap{margin:36px auto;padding:0 16px}.employee-shell .coupon{text-align:center;flex-direction:column}.employee-shell .dash-wrap{padding:16px 14px 40px}.employee-shell .panel{padding:16px}.employee-shell .dash-title-row{gap:6px}.employee-shell .compare-header{flex-direction:column;gap:14px}.employee-shell .compare-arrow{transform:rotate(90deg)}.employee-shell .history-attempts-table{table-layout:auto}.employee-shell .history-attempts-table thead{display:none}.employee-shell .history-attempts-table,.employee-shell .history-attempts-table tbody,.employee-shell .history-attempts-table tr{width:100%;display:block}.employee-shell .history-attempts-table td{border-bottom:none;padding:2px 0;display:block;width:auto!important}.employee-shell .history-attempts-table tr{border-bottom:1px solid var(--gray-100);padding:12px 0}.employee-shell .history-attempts-table tr:first-child{padding-top:0}.employee-shell .history-attempts-actions{justify-content:flex-start;margin-top:6px}}@media (width<=400px){.employee-shell .info-grid{grid-template-columns:1fr}}.empty-chart{text-align:center;color:var(--gray-500);width:100%;padding:48px 16px;font-size:14px}.toast{z-index:1000;background:var(--green);color:#fff;max-width:min(420px,100vw - 32px);box-shadow:var(--shadow);cursor:pointer;border-radius:10px;padding:12px 18px;font-size:14px;font-weight:600;animation:.2s ease-out toast-in;position:fixed;bottom:24px;right:24px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.toast.toast-error{background:var(--red)}.otp-input{text-align:center;letter-spacing:.5em;font-variant-numeric:tabular-nums;border:1px solid var(--gray-300);border-radius:10px;width:100%;padding:14px 12px;font-family:inherit;font-size:26px;font-weight:800}.otp-input:focus{outline:2px solid var(--green-mid);outline-offset:1px}.auth-footer{text-align:center;color:var(--gray-500);margin-top:18px;font-size:12.5px}.pagination{color:var(--gray-500);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:12.5px;display:flex}.pagination-btns{gap:6px;display:flex}.status-active,.status-done{color:#1f5e46;background:#e6f2ec}.detail-list{margin:0}.detail-list .review-row{font-size:13.5px}.search-input{border:1px solid var(--gray-300);background:#fff;border-radius:8px;min-width:240px;padding:9px 12px;font-family:inherit;font-size:13.5px}.credentials-box{background:var(--gray-100);border-radius:10px;margin-bottom:20px;padding:14px 16px;font-size:13px;line-height:1.8}.credentials-box code{color:var(--green-dark);font-family:ui-monospace,SF Mono,Courier New,monospace;font-size:14px;font-weight:700}.tnc-box{background:var(--gray-100);max-height:180px;color:var(--gray-700);border-radius:10px;margin-bottom:14px;padding:14px 16px;font-size:12.5px;line-height:1.8;overflow-y:auto}.tnc-scroll{max-height:320px;margin-bottom:10px}.tnc-scroll p{margin:2px 0 0}.tnc-draft-note{margin-bottom:12px}.tnc-title{color:var(--gray-900);margin-bottom:10px;font-size:14px;font-weight:800}.tnc-section{margin-bottom:10px}.tnc-heading{color:var(--gray-900);font-weight:700}.tnc-end{text-align:center;color:var(--gray-500);border-top:1px solid var(--gray-300);margin-top:14px;padding-top:8px;font-size:11.5px}.tnc-consents{flex-direction:column;gap:10px;margin:14px 0 4px;display:flex}.tnc-consents .checkbox-label{color:var(--gray-700);cursor:pointer;margin:0;font-size:12.5px;font-weight:400}.tnc-progress{color:var(--gray-500);font-size:12px;font-weight:700}.tnc-progress.done{color:var(--green)}.tnc-card{border:1px solid var(--gray-300);background:var(--gray-100);cursor:pointer;text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:56px;padding:0 16px;font-family:inherit;display:flex}.tnc-card:hover{background:#e9ebee}.tnc-card-label{color:var(--gray-900);font-size:13.5px;font-weight:700}.tnc-card-status{color:var(--green);white-space:nowrap;flex-shrink:0;font-size:12.5px;font-weight:700}.tnc-card-status.accepted{background:var(--green-light);color:var(--green-dark);border-radius:20px;padding:4px 10px}.back-link{margin-bottom:14px;display:inline-block}button.link-btn{padding:0;font-family:inherit}.modal-footer .modal-footer-left{margin-right:auto}.form-actions{border-top:1px solid var(--gray-100);justify-content:flex-end;gap:8px;margin-top:6px;padding-top:18px;display:flex}.form-actions .form-actions-left{margin-right:auto}.pending-credentials{background:#fff7e6;border:1px solid #f2d493;border-radius:10px;margin-bottom:16px;padding:14px 16px}.pending-credentials .credentials-box{background:#fff}.form-fieldset{border:0;min-width:0;margin:0;padding:0}.form-fieldset:disabled input,.form-fieldset:disabled select,.form-fieldset:disabled textarea{background:var(--gray-100);color:var(--gray-700)}.form-fieldset:disabled ::placeholder{color:#0000}.modal-body:has(.modal-footer){padding-bottom:0}.modal-body .modal-footer{margin-bottom:0}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover{background:#b91c1c}.dash-wrap{max-width:none;padding:28px 36px 60px}.dash-title{font-size:22px}.dash-sub{font-size:13.5px}.panel{padding:22px 26px}.panel-title{font-size:15.5px}.side-nav{width:230px;padding:18px 12px}body.has-side-nav .dash-wrap{margin-left:230px}.side-nav-item{padding:11px 14px;font-size:14.5px}.side-nav-footer{margin-top:12px}.account-menu{position:relative}.account-btn{cursor:pointer;text-align:left;background:var(--white);border:1px solid var(--gray-300);border-radius:999px;align-items:center;gap:10px;padding:5px 12px 5px 5px;font-family:inherit;display:flex}.account-btn:hover,.account-btn.open{background:var(--gray-100);border-color:var(--gray-500)}.account-btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}.account-avatar{background:var(--green);width:32px;height:32px;color:var(--white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.account-text{flex-direction:column;min-width:0;max-width:200px;line-height:1.2;display:flex}.account-name{color:var(--gray-700);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:700;overflow:hidden}.account-tenant{color:var(--gray-500);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.account-chevron{color:var(--gray-500);flex-shrink:0;transition:transform .15s}.account-btn.open .account-chevron{transform:rotate(180deg)}.account-panel{z-index:100;background:var(--white);border:1px solid var(--gray-300);border-radius:10px;width:240px;padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #00000014}.account-item{width:100%;color:var(--gray-700);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:9px 12px;font-family:inherit;font-size:13.5px;font-weight:600;display:flex}.account-item:hover{background:var(--gray-100)}.account-item.selected{color:var(--green-dark)}.account-check{flex-shrink:0;width:14px;font-weight:700}.account-sep{background:var(--gray-300);height:1px;margin:6px 4px}.account-label{color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em;padding:6px 12px 2px;font-size:11px;font-weight:700}.side-nav-logout{width:100%;color:var(--red);cursor:pointer;background:#fdecec;border:1px solid #f5c2c2;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:11px 14px;font-family:inherit;font-size:14.5px;font-weight:700;transition:background .15s,color .15s,border-color .15s;display:flex}.side-nav-logout:hover{background:var(--red);border-color:var(--red);color:var(--white)}.side-nav-logout:focus-visible{outline:2px solid var(--red);outline-offset:2px}.side-nav-version{text-align:center;color:var(--gray-500);font-variant-numeric:tabular-nums;letter-spacing:.02em;margin-top:10px;font-size:11.5px}.app-header{padding:12px 28px}.app-header .brand{font-size:17px}.app-header .sub{font-size:13px}table.emp-table{table-layout:fixed;font-size:14px}table.emp-table th{text-transform:uppercase;letter-spacing:.04em;padding:10px 12px;font-size:12px}table.emp-table td{padding:14px 12px}table.emp-table tbody tr:hover td{background:var(--gray-100)}.search-input{padding:10px 12px;font-size:14px}.search-bar{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.search-bar-text{flex:280px}.search-filter{flex:0 0 200px;width:200px;min-width:0}.search-filter-wide{flex-basis:240px;width:240px}.search-bar-btn{background:var(--green);min-width:120px;height:42px;color:var(--white);cursor:pointer;border:none;border-radius:8px;margin-left:auto;padding:0 22px;font-family:inherit;font-size:13.5px;font-weight:700}.search-bar-btn:hover{background:var(--green-dark)}.search-bar-btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}.roster-toolbar{margin-bottom:18px}.kpi-row{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.kpi-value{font-size:30px}@media (width<=900px){.side-nav{width:180px}body.has-side-nav .dash-wrap{margin-left:180px;padding:20px 18px 40px}}.form-row input[type=radio],.form-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--green);flex-shrink:0;margin:2px 0 0;padding:0}.form-row .checkbox-label{align-items:flex-start;gap:8px;display:flex}a{text-decoration:none}body{line-height:1.5}:lang(ja) body,body:lang(ja){font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Noto Sans JP,Noto Sans CJK JP,Segoe UI,sans-serif}.btn{text-align:center;vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;width:180px;display:inline-block;overflow:hidden}.btn-sm{width:140px}.btn-block{width:100%}.btn-outline{text-align:center;vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;width:140px;overflow:hidden}.dash-tab{text-align:center;width:150px}table.emp-table th,table.emp-table td{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.btn{height:48px;padding-top:0;padding-bottom:0;line-height:48px}.btn-sm{height:36px;line-height:36px}.btn-outline{height:40px;padding-top:0;padding-bottom:0;line-height:38px}.form-row input:not([type=radio]):not([type=checkbox]),.form-row select,.search-input{height:42px;padding-top:0;padding-bottom:0;line-height:20px}.form-row textarea{line-height:21px}.form-row label,.form-row .checkbox-label{line-height:20px}.field-error{line-height:18px}.lang-select{height:32px;padding-top:0;padding-bottom:0;line-height:18px}.dash-tab{height:42px;padding-top:0;padding-bottom:0;line-height:39px}.side-nav-item{flex-shrink:0;height:44px;padding-top:0;padding-bottom:0;line-height:44px}.side-nav-logout{height:46px;padding-top:0;padding-bottom:0;line-height:22px}.account-item,.menu-item:not(.notif-item){align-items:center;min-height:38px;padding-top:0;padding-bottom:0;line-height:20px;display:flex}.account-label{line-height:16px}.account-text{line-height:normal}.account-name{height:17px;line-height:17px}.account-tenant{height:15px;line-height:15px}.menu-item.menu-item-lang{min-height:0}table.emp-table th{height:38px;padding-top:0;padding-bottom:0;line-height:18px}table.emp-table td{height:50px;padding-top:0;padding-bottom:0;line-height:20px}.status-pill{height:22px;line-height:16px}.badge-tag{white-space:nowrap;height:28px;line-height:18px}.badge-tag.badge-tag-lg{border-radius:22px;height:38px;padding:7px 18px;font-size:15px;line-height:24px}.pagination{line-height:20px}.dash-title{line-height:30px}.dash-sub{line-height:20px}.panel-title{line-height:22px}.app-header .brand{line-height:24px}.app-header .sub{line-height:18px}.review-row,.detail-list .review-row{line-height:20px}.tnc-box{line-height:22px}.notice-box{line-height:21px}.credentials-box{line-height:23px}.notif-item{line-height:18px}.theme-gakken{--brand:#009c37;--brand-dark:#007a2b;--brand-light:#e5f5eb;--blue:#007a2b;--blue-light:#e5f5eb}.theme-marubeni{--brand:#e60012;--brand-dark:#b8000e;--brand-light:#fdeced;--blue:#0a2640;--blue-light:#e8edf3}.theme-company{--brand:#2563eb;--brand-dark:#1d4ed8;--brand-light:#eaf0fe;--blue:#1d4ed8;--blue-light:#eaf0fe}.app-header .brand{color:var(--brand-dark,var(--green-dark))}.app-header .brand .logo-box,.account-avatar{background:var(--brand,var(--green))}.side-nav-item.active{background:var(--brand-light,var(--green-light));color:var(--brand-dark,var(--green-dark));border-left-color:var(--brand,var(--green))}.dash-tab.active{color:var(--brand-dark,var(--green-dark));border-bottom-color:var(--brand,var(--green))}.theme-gakken .badge-tag.badge-tag-lg,.theme-marubeni .badge-tag.badge-tag-lg,.theme-company .badge-tag.badge-tag-lg{background:var(--brand-light,var(--green-light));color:var(--brand-dark,var(--green-dark))}
