:root{color:#223548;background:#f4f7f9;font-family:Inter,Noto Sans JP,Yu Gothic UI,Hiragino Kaku Gothic ProN,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--navy: #102a43;--navy-2: #163b5c;--blue: #1d6f9f;--blue-light: #eaf4fa;--green: #167c5a;--red: #b53b4a;--border: #dce5eb;--muted: #6a7f91;--shadow: 0 12px 40px rgba(20, 48, 70, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:254px;padding:28px 18px 24px;color:#dbe8f2;background:linear-gradient(180deg,#102a43,#0c2135);display:flex;flex-direction:column;z-index:30}.brand{display:flex;gap:12px;align-items:center;padding:0 10px 30px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#fff;background:linear-gradient(145deg,#43a9d3,#1b6c9a);font-weight:800;box-shadow:inset 0 1px #ffffff4d,0 5px 15px #0003}.brand-mark.large{width:56px;height:56px;font-size:24px;margin:auto}.brand strong{display:block;color:#fff;font-size:17px;letter-spacing:.02em}.brand small{display:block;margin-top:2px;font-size:9px;letter-spacing:.18em;color:#8fa9bd}.sidebar nav{padding-top:28px;flex:1}.sidebar nav>p{margin:0 12px 10px;color:#7894a9;font-size:10px;font-weight:700;letter-spacing:.14em}.sidebar nav a,.sidebar nav>span{height:48px;padding:0 13px;border-radius:10px;display:flex;align-items:center;gap:12px;color:#adc1d0;text-decoration:none;font-size:14px;font-weight:600;margin:4px 0}.sidebar nav svg{width:19px}.sidebar nav a.active{color:#fff;background:#3b99c633;box-shadow:inset 3px 0 #4bb3db}.sidebar nav .disabled{opacity:.55;cursor:default}.sidebar nav .disabled small{margin-left:auto;border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:2px 6px;font-size:9px}.sidebar-footer{border-top:1px solid rgba(255,255,255,.1);padding:20px 8px 0}.tenant-badge{display:flex;align-items:center;gap:10px}.tenant-badge>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#ffffff1c;font-size:11px;font-weight:800}.tenant-badge small,.tenant-badge strong{display:block}.tenant-badge small{color:#7894a9;font-size:10px}.tenant-badge strong{color:#dae7f0;font-size:12px;margin-top:2px}.sidebar-footer>a{display:inline-block;margin:18px 44px 0;color:#8fa9bd;font-size:11px;text-decoration:none}.mobile-menu{display:none}.main-content{margin-left:254px;min-height:100vh;padding:0 44px 50px}.topbar{min-height:110px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.eyebrow{margin:0 0 5px;color:#56819b;font-size:9px;font-weight:800;letter-spacing:.18em}.topbar h1{margin:0;color:var(--navy);font-size:25px;letter-spacing:.02em}.current-user{display:flex;align-items:center;gap:10px}.current-user>span{width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:#dcecf4;color:#1a668e;font-size:12px;font-weight:800}.current-user strong,.current-user small{display:block;text-align:right}.current-user strong{color:#273f52;font-size:12px}.current-user small{color:var(--muted);font-size:10px;margin-top:3px}.notice{position:fixed;top:24px;left:calc(50% + 127px);transform:translate(-50%);z-index:60;background:#163b5c;color:#fff;padding:13px 16px;border-radius:10px;box-shadow:0 10px 30px #102a4340;display:flex;gap:10px;align-items:center;font-size:12px}.notice>span{width:19px;height:19px;display:grid;place-items:center;border-radius:50%;background:#33a87d}.notice button{color:#b9cedb;background:none;border:0;margin-left:10px}.summary-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:26px 0 20px}.summary-row article{position:relative;overflow:hidden;min-height:110px;padding:19px 22px;background:#fff;border:1px solid #e3eaf0;border-radius:12px;box-shadow:0 4px 18px #19405a09}.summary-row article:after{content:"";position:absolute;right:-18px;bottom:-24px;width:84px;height:84px;border-radius:50%;background:#eff7fb}.summary-row article>span{display:block;color:var(--muted);font-size:11px;font-weight:700}.summary-row article>strong{display:block;margin-top:7px;color:var(--navy);font-size:29px;line-height:1}.summary-row article>strong small{font-size:11px;margin-left:4px;font-weight:600;color:#718697}.summary-row article p{margin:8px 0 0;color:#8193a1;font-size:9px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px}.dot.green{background:#33a87d}.content-card{overflow:visible;background:#fff;border:1px solid #e0e8ed;border-radius:14px;box-shadow:var(--shadow)}.card-header{min-height:88px;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e8eef2}.card-header h2{margin:0;color:var(--navy);font-size:17px}.card-header p{margin:5px 0 0;color:var(--muted);font-size:10px}.button{min-height:39px;padding:0 17px;border:1px solid transparent;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:11px;font-weight:700;text-decoration:none;transition:.15s ease}.button svg{width:15px}.button.primary{color:#fff;background:linear-gradient(135deg,#1f779f,#155c86);box-shadow:0 5px 14px #155c862e}.button.primary:hover{transform:translateY(-1px);box-shadow:0 7px 17px #155c8640}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.button.secondary{color:#486175;background:#fff;border-color:#d4dfe6}.button.danger-button{color:#a53543;background:#fff;border-color:#e7c8cd}.button.wide{width:100%;margin-top:25px}.filters{padding:15px 24px;display:flex;gap:10px;background:#fbfcfd;border-bottom:1px solid #e8eef2}.search-box{flex:1;max-width:480px;height:40px;position:relative;display:flex;align-items:center;background:#fff;border:1px solid #d7e2e8;border-radius:8px}.search-box:focus-within{border-color:#6aa9c9;box-shadow:0 0 0 3px #338ab417}.search-box svg{width:16px;margin-left:12px;color:#8296a5}.search-box input{flex:1;min-width:0;border:0;outline:0;padding:0 10px;font-size:11px;color:#32495a}.search-box button{height:28px;border:0;border-left:1px solid #e1e8ed;background:#fff;color:#31789f;padding:0 12px;font-size:10px;font-weight:700}.filters select{min-width:160px;border:1px solid #d7e2e8;border-radius:8px;background:#fff;padding:0 35px 0 12px;color:#4f6576;font-size:10px}.table-wrap{min-height:230px}table{width:100%;border-collapse:collapse}thead{background:#f8fafb}th{height:40px;padding:0 13px;color:#718593;font-size:9px;font-weight:800;letter-spacing:.04em;text-align:left;border-bottom:1px solid #e3eaee}th:first-child,td:first-child{padding-left:24px}th:last-child,td:last-child{padding-right:20px}td{height:66px;padding:9px 13px;color:#415768;font-size:10px;border-bottom:1px solid #edf1f4}tbody tr{transition:background .12s ease}tbody tr:hover{background:#fbfdfe}td:first-child{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:10px;font-size:10px;font-weight:800}.color-0{background:#dceef6;color:#1d6a92}.color-1{background:#e7e3f6;color:#62529a}.color-2{background:#e1f1e9;color:#26785b}.color-3{background:#f5e8dc;color:#99603b}.color-4{background:#f3e0e8;color:#96506d}.user-cell a,.user-cell small{display:block}.user-cell a{color:#263e50;font-size:11px;font-weight:700;text-decoration:none}.user-cell a:hover{color:#1b7098;text-decoration:underline}.user-cell small{margin-top:4px;color:#8394a0;font-size:9px}.mono{color:#5f7484;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.role-chip{display:inline-flex;padding:4px 8px;border-radius:5px;color:#63798a;background:#f0f3f5;font-size:9px;font-weight:700}.role-chip.admin{color:#276e92;background:#e6f2f8}.muted{color:#8495a1}.status-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:12px;font-size:9px;font-weight:700}.status-chip i{width:5px;height:5px;border-radius:50%}.status-chip.active{color:#23745a;background:#e7f5ef}.status-chip.active i{background:#28a174}.status-chip.disabled{color:#7b6870;background:#f2edef}.status-chip.disabled i{background:#987b86}.actions-cell{position:relative;white-space:nowrap}.table-action,.action-menu summary{width:29px;height:29px;display:inline-grid;place-items:center;border:1px solid #dfe7ec;border-radius:7px;color:#61798a;background:#fff;text-decoration:none;vertical-align:middle}.table-action+.table-action{margin-left:5px}.table-action svg,.action-menu summary svg{width:13px}.action-menu{position:relative;display:inline-block;margin-left:5px}.action-menu summary{list-style:none;cursor:pointer}.action-menu summary::-webkit-details-marker{display:none}.action-menu summary svg{transform:rotate(90deg)}.action-menu>div{position:absolute;right:0;top:34px;z-index:15;min-width:150px;padding:5px;border:1px solid #dce5ea;border-radius:9px;background:#fff;box-shadow:0 10px 30px #152f4126}.action-menu button{display:block;width:100%;border:0;background:none;text-align:left;padding:8px 10px;border-radius:6px;color:#415869;font-size:10px}.action-menu button:hover{background:#f3f7f9}.action-menu button.danger{color:var(--red)}.table-footer{min-height:48px;padding:0 24px;display:flex;justify-content:space-between;align-items:center;color:#8697a3;font-size:9px}.load-more{border:0;background:none;color:#24749c;font-size:10px;font-weight:700}.load-more:disabled{color:#8ca0ad;cursor:wait}.empty-state{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8193a0;font-size:11px}.empty-state svg{width:30px;margin-bottom:12px;color:#9db1bf}.empty-state strong{color:#425d71}.empty-state p{margin:6px;font-size:9px}.page-stack{padding-bottom:8px}.page-stack.with-breadcrumb{padding-top:18px}.breadcrumb{min-height:32px;display:flex;align-items:center;gap:6px;color:#7c8f9d;font-size:10px}.breadcrumb a{color:#34789b;font-weight:700;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb svg{width:11px;color:#9cadb8}.breadcrumb span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-alert{margin-bottom:12px;padding:12px 15px;color:#963442;background:#fff0f2;border:1px solid #f0d2d6;border-radius:9px;font-size:10px}.page-card-header{min-height:96px;padding:22px 30px;border-bottom:1px solid #e4ebef;display:flex;align-items:center;justify-content:space-between;gap:20px}.page-card-header h2{margin:0;color:var(--navy);font-size:19px}.page-card-header p:not(.eyebrow){margin:6px 0 0;color:var(--muted);font-size:10px}.form-step{flex:0 0 auto;padding:6px 10px;border-radius:999px;color:#267297;background:#eaf4f8;font-size:9px;font-weight:700}.user-form-card{max-width:980px;margin:0 auto}.user-form{display:flex;flex-direction:column}.form-body{padding:3px 30px 28px}.form-section{padding:23px 0 4px;border-bottom:1px solid #edf1f3}.form-section:last-of-type{border-bottom:0}.section-heading{display:flex;gap:10px;margin-bottom:17px;align-items:flex-start}.section-heading>span{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:#e9f3f8;color:#24729b;font-size:9px;font-weight:800}.section-heading h3{margin:0;color:#294357;font-size:13px}.section-heading p{margin:3px 0 0;color:#8294a1;font-size:9px}.form-grid{display:grid;gap:13px;padding-left:34px}.two-columns{grid-template-columns:repeat(2,1fr)}.span-two{grid-column:span 2}.form-grid label>span{display:block;margin-bottom:6px;color:#4f6678;font-size:9px;font-weight:700}.form-grid label b{color:#267da5;font-size:8px;margin-left:4px}.form-grid input,.form-grid select{width:100%;height:38px;border:1px solid #d7e1e7;border-radius:8px;padding:0 11px;outline:0;color:#314a5c;background:#fff;font-size:11px}.form-grid input:focus,.form-grid select:focus{border-color:#66a5c4;box-shadow:0 0 0 3px #2f84ad14}.form-grid input[aria-invalid=true]{border-color:#c75c66}.form-grid label>small{display:block;margin-top:5px;color:#8395a2;font-size:8px;line-height:1.5}.form-grid label em{margin-left:5px;color:#7c8f9d;font-size:8px;font-style:normal;font-weight:500}.optional-field{margin-top:8px;padding-top:16px;border-top:1px dashed #dce5ea}.option-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-left:34px}.option-card{min-height:64px;padding:11px 13px;display:flex;align-items:center;gap:10px;border:1px solid #dce5ea;border-radius:10px;cursor:pointer}.option-card.selected{border-color:#77b4ce;background:#f1f9fc}.option-card input{accent-color:#1e789f}.option-card svg{width:20px;color:#4e819d}.option-card strong,.option-card small{display:block}.option-card strong{color:#385265;font-size:10px}.option-card small{margin-top:3px;color:#8294a1;font-size:8px;line-height:1.45}.app-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding-left:34px}.app-option{position:relative;padding:12px;display:flex;align-items:center;gap:8px;border:1px solid #dce5ea;border-radius:10px;cursor:pointer}.app-option.selected{border-color:#72aec8;background:#f1f8fb}.app-option input{position:absolute;top:7px;right:7px;accent-color:#1e789f}.app-option-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:8px;background:#e9f3f7;color:#317a9e}.app-option-icon svg{width:15px}.app-option strong,.app-option small{display:block}.app-option strong{color:#3b5465;font-size:9px}.app-option small{color:#8797a2;margin-top:3px;font-size:8px}.empty-inline{grid-column:1 / -1;margin:0;padding:18px;border:1px dashed #d7e1e7;border-radius:9px;color:#8193a0;text-align:center;font-size:9px}.form-error{margin-top:15px;padding:11px 13px;border-radius:8px;color:#9b3340;background:#fff0f2;font-size:10px}.form-page-footer{min-height:72px;padding:14px 30px;display:flex;justify-content:flex-end;gap:9px;border-top:1px solid #e4ebef;background:#fafcfd;border-radius:0 0 14px 14px}.employee-form-footer{align-items:center;justify-content:space-between}.employee-form-footer>p{margin:0;color:#7d909d;font-size:9px}.employee-form-footer>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.detail-card{overflow:hidden}.detail-hero{min-height:126px;padding:25px 30px;display:flex;align-items:center;justify-content:space-between;gap:22px;border-bottom:1px solid #e7edf1;background:linear-gradient(120deg,#fff,#f5fafc)}.detail-identity{display:flex;align-items:center;gap:17px;min-width:0}.detail-avatar{width:58px;height:58px;flex:0 0 auto;display:grid;place-items:center;border-radius:16px;color:#1a668e;background:#dceef6;font-size:16px;font-weight:800}.detail-identity h2{margin:0;color:var(--navy);font-size:21px}.detail-identity p:not(.eyebrow){margin:5px 0 0;color:#708594;font-size:10px}.detail-hero-actions{display:flex;align-items:center;gap:12px}.detail-hero-actions .status-chip{padding:6px 10px}.detail-columns{display:grid;grid-template-columns:1.35fr .85fr}.detail-section{padding:27px 30px}.detail-columns .detail-section+.detail-section{border-left:1px solid #e8eef2}.detail-section-heading{display:flex;align-items:flex-start;gap:10px;margin-bottom:20px}.detail-section-heading>span{width:25px;height:25px;flex:0 0 auto;display:grid;place-items:center;border-radius:7px;color:#24729b;background:#e9f3f8;font-size:9px;font-weight:800}.detail-section-heading h3{margin:0;color:#294357;font-size:13px}.detail-section-heading p{margin:4px 0 0;color:#8294a1;font-size:9px}.detail-grid{margin:0;padding-left:35px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}.detail-grid div{min-width:0}.detail-grid dt{color:#7c8e9b;font-size:9px}.detail-grid dd{margin:5px 0 0;overflow-wrap:anywhere;color:#334d60;font-size:11px;font-weight:650}.detail-role-list{padding-left:35px;display:grid;gap:9px}.detail-role{padding:13px;display:flex;align-items:center;gap:10px;border:1px solid #dce7ed;border-radius:10px;background:#f8fbfc}.detail-role>svg{width:20px;color:#347b9e}.detail-role strong,.detail-role small{display:block}.detail-role strong{color:#365267;font-size:10px}.detail-role small{margin-top:3px;color:#8294a1;font-size:8px}.detail-apps-section{border-top:1px solid #e8eef2}.detail-app-list{padding-left:35px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.detail-app{min-height:67px;padding:12px;display:flex;align-items:center;gap:10px;border:1px solid #dfe7ec;border-radius:10px}.detail-app>span:first-child{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:9px;color:#317a9e;background:#e9f3f7}.detail-app svg{width:16px}.detail-app>div{min-width:0;flex:1}.detail-app strong,.detail-app small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-app strong{color:#3b5465;font-size:10px}.detail-app small{margin-top:4px;color:#8797a2;font-size:8px}.empty-detail{grid-column:1 / -1;margin:0;padding:18px;color:#8193a0;background:#fafcfd;border:1px dashed #d7e1e7;border-radius:9px;text-align:center;font-size:9px}.account-empty{margin-left:35px;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left}.account-empty p{margin:0}.account-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px}.account-role-options{margin-top:18px}.account-actions-card{margin-top:14px;padding:20px 24px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px 18px}.account-actions-card h3{margin:0;color:#294357;font-size:13px}.account-actions-card p{margin:5px 0 0;color:#8294a1;font-size:9px}.account-actions-card>div:nth-child(2){display:flex;gap:8px}.account-action-note{grid-column:1 / -1;color:#9a6b40!important;text-align:right}.page-state{min-height:380px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#7b8f9d;font-size:11px}.page-state>svg{width:34px;color:#9eb2bf}.page-state .brand-mark{margin-bottom:9px}.page-state strong{margin-top:12px;color:#405c70;font-size:14px}.page-state p{margin:7px 0 18px}.splash,.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 70% 20%,#e6f3f8,transparent 36%),#f4f7f9}.splash{align-content:center;gap:10px;color:#718695;font-size:11px}.splash .brand-mark{margin:auto}.login-card{width:min(410px,calc(100% - 36px));padding:42px;background:#fff;border:1px solid #dee7ec;border-radius:18px;box-shadow:var(--shadow);text-align:center}.login-card .eyebrow{margin-top:18px}.login-card h1{margin:8px 0;color:var(--navy);font-size:23px}.login-card>p:not(.eyebrow){color:var(--muted);font-size:11px;line-height:1.8}@media(max-width:980px){.main-content{padding:0 20px 40px}th:nth-child(2),td:nth-child(2),th:nth-child(6),td:nth-child(6){display:none}.app-options{grid-template-columns:repeat(2,1fr)}.detail-columns{grid-template-columns:1fr}.detail-columns .detail-section+.detail-section{border-top:1px solid #e8eef2;border-left:0}.detail-app-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.mobile-menu{position:fixed;top:18px;left:16px;z-index:45;width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:10px;color:#fff;background:var(--navy)}.mobile-menu svg{width:18px}.sidebar{transform:translate(-100%);transition:transform .2s ease;box-shadow:15px 0 40px #0000002e}.sidebar.open{transform:translate(0)}.main-content{margin-left:0;padding:0 14px 30px}.topbar{padding-left:50px;min-height:78px}.topbar .eyebrow,.current-user div{display:none}.topbar h1{font-size:20px}.summary-row{grid-template-columns:1fr;gap:9px}.summary-row article{min-height:90px}.card-header{align-items:flex-start;gap:15px}.card-header .button{padding:0 11px;white-space:nowrap}.filters{flex-direction:column}.search-box{max-width:none}.filters select{height:40px}.table-wrap{overflow-x:auto}table{min-width:670px}.two-columns,.option-list,.app-options{grid-template-columns:1fr}.form-grid,.option-list,.app-options{padding-left:0}.span-two{grid-column:span 1}.page-card-header,.employee-form-footer{align-items:flex-start;flex-direction:column}.employee-form-footer>div{width:100%}.employee-form-footer .button{flex:1}.page-stack.with-breadcrumb{padding-top:10px}.page-card-header,.form-body,.form-page-footer{padding-left:18px;padding-right:18px}.detail-hero{padding:20px 18px;align-items:flex-start;flex-direction:column}.detail-hero-actions{width:100%;justify-content:space-between}.detail-section{padding:22px 18px}.detail-grid,.detail-role-list,.detail-app-list{padding-left:0}.detail-grid,.detail-app-list,.account-actions-card{grid-template-columns:1fr}.account-actions-card>div:nth-child(2){flex-wrap:wrap}.account-action-note{text-align:left}.account-empty{margin-left:0;align-items:flex-start;flex-direction:column}.account-detail-grid{grid-template-columns:1fr}.notice{left:50%;width:calc(100% - 30px);top:15px}}
