:root{font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#142033;background:#eef3f7;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}a{color:inherit}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(340px,1.05fr) minmax(340px,.95fr);background:linear-gradient(135deg,#103756f5,#104b58eb),repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 1px,transparent 1px 92px)}.auth-panel{position:relative;min-height:100vh;padding:clamp(28px,5vw,72px);color:#f7fbff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.auth-panel:after{content:"";position:absolute;inset:auto -16% -18% 12%;height:42%;border:1px solid rgba(255,255,255,.16);background:linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:54px 42px;transform:skewY(-7deg);opacity:.75}.auth-brand,.brand{display:flex;gap:10px;align-items:center;font-weight:800;letter-spacing:0}.brand-mark{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#f5b84b;color:#142033;box-shadow:0 12px 30px #05142340}.auth-copy{position:relative;z-index:1;max-width:670px}.eyebrow{margin:0 0 10px;color:#b96e1b;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.auth-panel .eyebrow{color:#f5c96d}.auth-copy h1{margin:0;max-width:12ch;font-size:clamp(3rem,6.5vw,6rem);line-height:.95;letter-spacing:0}.auth-copy p:last-child{max-width:620px;margin:24px 0 0;color:#d7e7ec;font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.7}.auth-metrics{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:620px}.auth-metrics div{min-height:86px;padding:16px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#ffffff14;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.auth-metrics strong{display:block;font-size:1.35rem;color:#fff7d8}.auth-metrics span{display:block;margin-top:6px;color:#d7e7ec;font-size:.88rem}.auth-card{align-self:center;width:min(480px,calc(100% - 44px));margin:36px auto;padding:clamp(24px,4vw,42px);background:#fffffff5;border:1px solid rgba(202,214,226,.9);border-radius:8px;box-shadow:0 30px 70px #08192a42}.auth-card-header{display:flex;gap:14px;align-items:center;margin-bottom:30px}.auth-card-header h2{margin:0;color:#13243a;font-size:clamp(2rem,5vw,3.2rem);line-height:1}.auth-icon{width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:#0f5f63;background:#dff2ef}.auth-form{display:grid;gap:18px}.auth-form label{display:grid;gap:8px;color:#4a5a6d;font-size:.9rem;font-weight:700}.input-wrap{min-height:52px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:0 14px;border:1px solid #c8d4df;border-radius:8px;background:#f9fbfd;color:#607080;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.input-wrap:focus-within{border-color:#0f8a83;background:#fff;box-shadow:0 0 0 4px #0f8a831f}.input-wrap input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#142033}.primary-action{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:8px;color:#fff;background:#0f5f63;font-weight:800;cursor:pointer;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.primary-action:hover{background:#0b4f53;box-shadow:0 14px 26px #0f5f633d;transform:translateY(-1px)}.form-alert,.form-success{margin:0;padding:12px 14px;border-radius:8px;line-height:1.4}.form-alert{color:#8a1f11;background:#fff0ec;border:1px solid #ffc8ba}.confirm-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:#091b2c8c;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-card{width:min(28rem,100%);border-radius:18px;background:#fff;border:1px solid #d7e3f4;box-shadow:0 24px 80px #0712223d;padding:1rem}.confirm-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.confirm-icon{width:2rem;height:2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#fff4e8;color:#b54708}.icon-button{border:1px solid #d7e3f4;background:#fff;color:#27405f;border-radius:10px;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.confirm-body h3{margin:0 0 .4rem;font-size:1rem}.confirm-body p{margin:0;color:#52708f;line-height:1.5;font-size:.92rem}.confirm-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.form-success{display:flex;align-items:center;gap:8px;color:#13533d;background:#e9f8f0;border:1px solid #bce7cf}.auth-links{display:flex;justify-content:space-between;gap:16px;margin-top:24px;color:#0f5f63;font-weight:800}.auth-links.single{justify-content:center}.app-shell{display:grid;grid-template-columns:clamp(220px,18vw,260px) minmax(0,1fr);height:100vh;overflow:hidden;min-height:100vh;font-size:.84rem;background:radial-gradient(circle at 18% -4%,rgba(29,120,136,.14),transparent 38%),radial-gradient(circle at 94% 8%,rgba(17,58,90,.1),transparent 40%),#eef3f7}.sidebar{background:linear-gradient(180deg,#0f2f46,#123047 42%,#0f2940);color:#dce8ff;padding:14px;overflow:auto;position:sticky;top:0;height:100vh;border-right:1px solid #1b4769;box-shadow:inset -1px 0 #ffffff0f}.sidebar .brand{margin-bottom:16px}.nav-item{width:100%;text-align:left;margin:2px 0;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:inherit;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:44px}.nav-item.active,.nav-item:hover{background:linear-gradient(90deg,#1f4b66,#245877)}.nav-item--pending{opacity:.82}.nav-item-icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:#ffffff14;flex:0 0 auto}.nav-item-text{display:grid;gap:2px;min-width:0}.nav-item-label{font-size:.84rem;font-weight:800;line-height:1.2;white-space:normal}.nav-item-meta{display:flex;align-items:center;gap:6px;color:#dce8ffb8;font-size:.64rem;text-transform:uppercase;letter-spacing:.04em}.nav-item-status{padding:2px 6px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f}.nav-item-status--active{color:#dffbf2;background:#1b573e38;border-color:#1b573e5c}.nav-item-status--pending{color:#fff0c8;background:#9b701038;border-color:#9b70105c}.nav-item:disabled{opacity:.45;cursor:not-allowed;background:transparent}.module-stack{display:grid;gap:14px;width:100%}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;align-items:start}.field{display:flex;flex-direction:column;gap:6px;font-size:.8rem}.field>span:first-child{font-weight:600;color:#334155;font-size:.78rem;letter-spacing:.01em}.form-grid input,.form-grid select,.form-grid textarea{min-height:40px;border:1px solid #c6d6e8;border-radius:8px;padding:0 12px;background:#f8fbff;color:#142033;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;font-size:.88rem;width:100%}.form-grid textarea{min-height:80px;padding:10px 12px;resize:vertical}.form-grid select{appearance:auto;cursor:pointer}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:0;border-color:#0f8a83;background:#fff;box-shadow:0 0 0 3px #0f8a831f}.form-grid .primary-action{min-height:40px;border-radius:8px;font-size:.85rem}.table-wrap{overflow-x:auto;border-radius:12px}.erp-table{width:100%;border-collapse:collapse;margin-top:12px;border-radius:10px;overflow:hidden}.erp-table th,.erp-table td{text-align:left;border-bottom:1px solid #dde6f3;padding:12px 10px;white-space:nowrap}.erp-table th{color:#39536d;font-size:.84rem;text-transform:uppercase;letter-spacing:.04em;background:#f4f8fd}.erp-table tbody tr:nth-child(2n){background:#fbfdff}.erp-table tbody tr:hover{background:#f2f8ff}.state-info{background:#f5f9ff;border-color:#c7dcff;color:#224367}.state-error{background:#fff2f0;border-color:#ffc8ba;color:#8a1f11}.state-success{background:#edf9f3;border-color:#b9e4cb;color:#1b573e}.access-denied{display:grid;gap:14px}.access-denied-head{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}.access-denied-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#fff4f1;color:#b73c24;border:1px solid #ffccbf}.access-denied-head h3{margin:2px 0 4px;font-size:1rem}.access-denied-head p{margin:0;color:#506277;font-size:.84rem}.access-denied-perms{display:grid;gap:8px;color:#506277}.access-denied-perms>span{font-size:.76rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.access-denied-chips{display:flex;flex-wrap:wrap;gap:8px}.invite-card{display:grid;gap:14px;border-radius:16px;background:linear-gradient(135deg,#0f5f630d,#22436705),#fff}.invite-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:4px;border-bottom:1px solid #dce6f1}.invite-card-title{display:grid;gap:4px}.invite-card-kicker{display:inline-flex;align-items:center;gap:8px;color:#46617c;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.invite-card-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;background:#0f8a831a;color:#0f5f63}.invite-card-title h3{margin:2px 0 4px;font-size:1rem}.invite-card-title p{margin:0;color:#506277;font-size:.8rem;max-width:62ch}.invite-toggle{white-space:nowrap}.invite-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.invite-summary article{padding:10px 12px;border:1px solid #d7e3f2;border-radius:12px;background:#f9fcff}.invite-summary span{display:block;margin-bottom:4px;color:#5a7188;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;font-weight:800}.invite-summary strong{display:block;color:#13243a;font-size:.85rem}.invite-form,.invite-collapsed{display:grid;gap:12px}.invite-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.invite-field{display:grid;gap:6px;font-size:.76rem;font-weight:700;color:#4a5a6d}.invite-field input,.invite-field select{min-width:0;min-height:40px;border:1px solid #c6d6e8;border-radius:10px;padding:0 12px;background:#f8fbff;color:#142033}.invite-field input:focus,.invite-field select:focus{outline:0;border-color:#0f8a83;background:#fff;box-shadow:0 0 0 4px #0f8a831f}.invite-help{grid-column:1 / -1;display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:12px;border:1px solid #d7e3f2;background:#f7fbff;color:#4d6279;font-size:.78rem;line-height:1.4}.invite-actions{display:flex;justify-content:flex-end;gap:8px;grid-column:1 / -1}.invite-collapsed{grid-template-columns:1fr auto;align-items:center;padding:12px 0 2px}.invite-collapsed strong{display:block;margin-bottom:4px;color:#13243a;font-size:.88rem}.invite-collapsed p{margin:0;color:#5a7188;font-size:.78rem}.main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.topbar{display:flex;gap:12px;align-items:center;justify-content:flex-end;padding:7px 12px;background:#fff;border-bottom:1px solid #d6dfef}.logout{display:flex;gap:6px;align-items:center;border:1px solid #c2d1ec;background:#f8fbff;padding:5px 8px;border-radius:6px}.content{display:block;gap:8px;padding:12px;min-width:0;min-height:0;flex:1;overflow:auto;width:100%}.content h1{margin:0 0 6px;font-size:1.22rem;line-height:1.15}.content>p{margin:0 0 12px;color:#52657b;font-size:.84rem}.grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px}.card{background:linear-gradient(180deg,#fff,#fcfeff);border:1px solid #d6e1f0;border-radius:12px;padding:12px;min-height:68px;box-shadow:0 10px 26px #1635540f}.company-profile-card{background:linear-gradient(130deg,#0f5f630f,#2243670a),#fff;width:100%;min-height:0;overflow:auto}.company-profile-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;flex-wrap:wrap}.company-profile-brand{display:flex;align-items:center;gap:14px}.company-profile-brand img,.company-profile-logo-fallback{width:46px;height:46px;border-radius:10px;object-fit:contain;padding:5px;background:#fff;border:1px solid #cfdced;box-shadow:0 8px 18px #14203314}.company-profile-logo-fallback{display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#1c4062;background:linear-gradient(145deg,#ecf4ff,#d9eaf9)}.company-profile-brand h3{margin:0;font-size:.98rem}.company-profile-brand p{margin:2px 0 0;color:#4b647d;font-size:.8rem}.company-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;min-height:0;overflow:auto;padding-right:4px}.company-profile-grid article{padding:9px;border-radius:10px;border:1px solid #d7e3f2;background:#f9fcff}.company-profile-grid h4{margin:0 0 6px;font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;color:#46617c}.company-profile-grid p{margin:0;color:#12263d;word-break:break-word}.company-profile-wide{grid-column:1 / -1}.company-profile-edit{gap:12px;width:100%;min-height:0;flex:1;overflow:auto}.company-profile-actions{display:flex;gap:10px;align-items:center}.roles-layout{gap:12px;width:100%;min-height:0;flex:1}.users-roles-screen{display:flex;flex-direction:column;gap:8px;width:100%;min-height:0;flex:1}.users-roles-tabs{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:4px;border:1px solid #d7e3f2;border-radius:10px;background:#f7fbff}.users-roles-tab{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:8px;background:transparent;color:#24415c;padding:6px 10px;font-size:.76rem;font-weight:800;cursor:pointer}.users-roles-tab.active{background:#0f5f63;color:#fff}.users-roles-content{display:flex;flex:1;min-height:0}.users-roles-content>*{flex:1;min-height:0}.company-profile-stack{width:100%}.roles-shell{display:grid;grid-template-columns:minmax(200px,240px) minmax(0,1fr);gap:12px;width:100%;min-height:0}.roles-list,.role-editor{background:linear-gradient(180deg,#fff,#fcfeff);min-height:0;overflow:auto}.roles-list-head,.role-editor-head,.role-matrix-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.roles-list-head h3,.role-editor-head h3,.role-matrix-head h4{margin:0}.roles-list-head p{margin:4px 0 0;color:#5a7188;font-size:.78rem}.roles-items{display:grid;gap:8px}.role-item{width:100%;border:1px solid #d7e3f2;background:#f9fcff;border-radius:14px;padding:9px 11px;text-align:left;display:grid;gap:4px;cursor:pointer}.role-item.active{border-color:#0f8a83;box-shadow:0 0 0 4px #0f8a831a}.role-item strong{font-size:.9rem;color:#13243a}.role-item span,.role-item small,.role-item em{font-style:normal;color:#5b7188;font-size:.76rem}.role-item em{color:#0f5f63;font-weight:800}.role-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px;font-size:.78rem}.role-editor{display:flex;flex-direction:column}.role-form-grid label{display:grid;gap:8px;color:#4a5a6d;font-size:.78rem;font-weight:700}.role-form-grid input,.role-form-grid textarea{min-height:38px;border:1px solid #c6d6e8;border-radius:10px;padding:0 14px;background:#f8fbff;color:#142033}.role-form-grid textarea{min-height:100px;padding:12px 14px;resize:vertical}.role-description{grid-column:1 / -1}.role-matrix-head{margin-bottom:10px;align-items:flex-end}.role-lock-note{margin:6px 0 0;color:#8a4b15;font-size:.88rem}.permission-matrix{display:grid;gap:10px;min-height:0;overflow:auto;padding-right:4px}.users-shell{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:12px;width:100%;min-height:0}.users-list,.user-detail{min-height:0;overflow:auto}.users-list{display:flex;flex-direction:column;gap:10px}.users-list-head,.user-detail-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.users-list-head h3,.user-detail-head h3{margin:0}.users-list-head p,.user-detail-subtitle{margin:2px 0 0;color:#5a7188;font-size:.74rem}.users-items{display:grid;gap:8px;min-height:0;overflow:auto;padding-right:4px}.user-item{width:100%;border:1px solid #d7e3f2;background:#f9fcff;border-radius:12px;padding:10px 11px;text-align:left;display:grid;gap:4px;cursor:pointer}.user-item.active{border-color:#0f8a83;box-shadow:0 0 0 4px #0f8a831a}.user-item.is-inactive{opacity:.78}.user-item strong{font-size:.88rem}.user-item span,.user-item small{color:#597087;font-size:.74rem}.user-item-meta,.user-badges,.user-detail-stats,.assignment-actions{display:flex;flex-wrap:wrap;gap:8px}.mini-badge,.permission-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid #c6d6e8;background:#fff;color:#123047;padding:5px 8px;font-size:.7rem;font-weight:800}.mini-badge--ok{background:#edf9f3;border-color:#b9e4cb;color:#1b573e}.mini-badge--off{background:#fff2f0;border-color:#ffc8ba;color:#8a1f11}.mini-badge--role{background:#0f8a831a;border-color:#0f8a8347;color:#0f5f63}.mini-badge--muted{background:#f5f8fb;border-color:#d5deea;color:#53667a}.user-detail{display:flex;flex-direction:column;gap:10px}.assignment-form{display:grid;gap:10px}.assignment-field{display:grid;gap:6px;color:#4a5a6d;font-size:.75rem;font-weight:700}.assignment-field select{min-height:38px;border:1px solid #c6d6e8;border-radius:10px;padding:0 12px;background:#f8fbff;color:#142033}.user-assignment-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.user-assignment-meta article{padding:10px;border-radius:10px;border:1px solid #d7e3f2;background:#f9fcff}.user-assignment-meta h4{margin:0 0 4px;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#46617c}.user-assignment-meta p{margin:0;font-size:.8rem;color:#123047}.user-permissions{display:flex;flex-wrap:wrap;gap:6px;min-height:0}.permission-pill{font-weight:700;max-width:100%}.permission-group{padding:10px;border-radius:14px;border:1px solid #d7e3f2;background:#f9fcff}.permission-group-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.permission-group-head h4{margin:0}.permission-group-head span{color:#5a7188;font-size:.72rem}.permission-chips{display:flex;flex-wrap:wrap;gap:8px}.permission-chip{border:1px solid #c6d6e8;background:#fff;color:#123047;border-radius:999px;padding:6px 8px;cursor:pointer;font-size:.72rem}.tenant-selector{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:5px 8px;border:1px solid #c2d1ec;border-radius:8px;background:#f8fbff;color:#24415c;font-size:.75rem;white-space:nowrap}.tenant-selector select{border:0;background:transparent;color:inherit;font:inherit;outline:0;max-width:140px}.tenant-selector--empty{color:#6a7b8d}.state-note{padding:10px 12px;min-height:auto}.permission-chip.active{border-color:#0f8a83;background:#0f8a831a;color:#0f5f63;font-weight:800}.permission-chip:disabled,.role-item:disabled,.logout:disabled,.primary-action:disabled{opacity:.65;cursor:not-allowed}@media(max-width:900px){.auth-page{grid-template-columns:1fr}.auth-panel{min-height:auto;gap:34px}.auth-copy h1{max-width:14ch;font-size:clamp(2.6rem,13vw,4.4rem)}.auth-metrics{grid-template-columns:1fr}.auth-card{width:min(560px,calc(100% - 28px));margin:14px auto 28px}.app-shell{grid-template-columns:1fr;height:auto;overflow:visible}.sidebar{max-height:320px;position:relative;height:auto}.content{padding:12px;overflow:visible}.content h1{font-size:1.25rem}.grid,.roles-shell,.role-form-grid,.users-shell,.invite-summary,.invite-form,.invite-collapsed{grid-template-columns:1fr}.roles-list,.role-editor,.company-profile-card,.company-profile-edit,.company-profile-grid,.permission-matrix,.users-list,.user-detail{max-height:none}}@media(max-width:520px){.auth-card-header{align-items:flex-start}.auth-links{flex-direction:column;align-items:center}}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.card-head h3{margin:0}.filter-bar{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.filter-bar .search-input{flex:1;min-width:200px;padding:.5rem .75rem;border:1px solid #d0d9e2;border-radius:6px;font-size:.875rem}.filter-bar select{padding:.5rem .75rem;border:1px solid #d0d9e2;border-radius:6px;font-size:.875rem;background:#fff}.field-error{display:block;color:#dc2626;font-size:.8rem;margin-top:.25rem}.form-actions{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.action-group{display:flex;gap:.375rem;flex-wrap:wrap}.logout--danger{color:#dc2626!important;border-color:#fca5a5!important}.logout--danger:hover{background:#fef2f2!important}.field--checkbox{display:flex;align-items:center;gap:.5rem;flex-direction:row!important}.field--checkbox>span{font-weight:400;font-size:.82rem;color:#334155}.field--checkbox input[type=checkbox]{width:auto;min-height:unset;margin:0}.field--wide{grid-column:1 / -1}.mini-badge--active{background:#dcfce7;color:#166534}.mini-badge--inactive{background:#fef2f2;color:#991b1b}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.detail-head h3{margin:0;font-size:1.25rem}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.detail-field{display:flex;flex-direction:column;gap:.25rem}.detail-field--full{grid-column:1 / -1}.detail-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.detail-value{font-size:.9rem;color:#142033}.detail-section{margin-bottom:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.link-button{background:none;border:none;color:#0d9488;cursor:pointer;font-size:inherit;padding:0;text-decoration:none}.link-button:hover{text-decoration:underline}.tracking-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap}.tracking-badge--batch{background:#dbeafe;color:#1e40af}.tracking-badge--both{background:#e0e7ff;color:#3730a3}.tracking-badge--none{background:#f1f5f9;color:#64748b}.detail-section-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin:0 0 .75rem;padding-bottom:.25rem;border-bottom:1px solid #e2e8f0}:root{--font-size-xs: 10px;--font-size-sm: 11px;--font-size-md: 12px;--font-size-lg: 14px;--sidebar-width: 200px;--topbar-height: 36px;--table-row-height: 28px;--content-padding: 8px;--card-padding: 8px;--control-height: 26px;--border-radius-sm: 4px}body{font-size:var(--font-size-md)}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0,1fr);font-size:var(--font-size-md)}.sidebar{padding:6px}.sidebar .brand{margin-bottom:6px;font-size:var(--font-size-sm)}.nav-item{min-height:var(--control-height);padding:3px 6px;font-size:var(--font-size-sm);margin:1px 0;gap:6px}.nav-item-icon{width:16px;height:16px;border-radius:4px}.nav-item-label{font-size:var(--font-size-sm)}.nav-item-meta{font-size:9px}.nav-item-status{padding:1px 4px}.topbar{height:var(--topbar-height);min-height:var(--topbar-height);padding:2px 8px;gap:8px}.content{padding:var(--content-padding)}.content h1{font-size:var(--font-size-lg);margin:0 0 2px}.content>p{font-size:var(--font-size-sm);margin:0 0 6px}.card{padding:var(--card-padding);border-radius:var(--border-radius-sm);min-height:auto}.card-head{margin-bottom:6px}.card-head h3{font-size:var(--font-size-md);margin:0}.card-note{padding:4px 8px!important;font-size:var(--font-size-sm)!important}.erp-table{margin-top:4px;font-size:var(--font-size-sm)}.erp-table th,.erp-table td{padding:4px 6px;font-size:var(--font-size-sm)}.erp-table th{font-size:var(--font-size-xs);position:sticky;top:0;z-index:1}.erp-table tbody tr{height:var(--table-row-height)}.primary-action{min-height:var(--control-height);font-size:var(--font-size-sm);border-radius:var(--border-radius-sm);padding:2px 8px}.logout{font-size:var(--font-size-sm);padding:2px 6px;min-height:var(--control-height);border-radius:var(--border-radius-sm)}.form-grid{gap:6px}.form-grid input,.form-grid select,.form-grid textarea{min-height:var(--control-height);font-size:var(--font-size-sm);border-radius:var(--border-radius-sm);padding:0 8px}.form-grid .primary-action{min-height:var(--control-height);font-size:var(--font-size-sm)}.filter-bar{gap:4px;margin-bottom:6px}.filter-bar .search-input,.filter-bar select{font-size:var(--font-size-sm);padding:3px 6px;min-height:var(--control-height)}.module-stack{gap:6px}.action-group{gap:3px}.mini-badge{font-size:9px;padding:2px 5px}.detail-grid{gap:6px}.detail-field{gap:1px}.detail-value{font-size:var(--font-size-sm)}.detail-label{font-size:9px}.field{font-size:var(--font-size-sm);gap:3px}.field>span:first-child{font-size:var(--font-size-xs)}.form-actions{gap:4px;margin-top:6px}.invite-field input,.invite-field select{min-height:var(--control-height);font-size:var(--font-size-sm);padding:0 8px}.invite-summary{gap:6px}.invite-summary article{padding:6px 8px}.invite-summary span{font-size:9px}.invite-summary strong{font-size:var(--font-size-sm)}.invite-card{padding:var(--card-padding)}.role-form-grid{gap:6px}.role-form-grid label{font-size:var(--font-size-xs)}.roles-list-head h3,.role-editor-head h3{font-size:var(--font-size-md)}.assignment-field{font-size:var(--font-size-xs)}.assignment-field select{min-height:var(--control-height)}.tenant-selector{font-size:var(--font-size-sm);padding:2px 6px}.user{font-size:var(--font-size-sm)}.permission-pill{font-size:9px;padding:3px 5px}.user-item{padding:6px 8px}.user-item strong{font-size:var(--font-size-sm)}.user-item span,.user-item small{font-size:var(--font-size-xs)}.ws-home-btn{all:unset;display:flex;gap:8px;align-items:center;font-weight:800;letter-spacing:0;padding:4px 4px 8px;cursor:pointer;color:#dce8ff;width:100%}.ws-nav{display:flex;flex-direction:column;gap:2px}.ws-group{display:flex;flex-direction:column}.ws-group-toggle{all:unset;display:flex;align-items:center;gap:6px;padding:5px 6px;cursor:pointer;color:#b0c8e0;font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:6px;width:100%}.ws-group-toggle:hover{color:#dce8ff}.ws-group-icon{display:inline-flex;align-items:center;flex:0 0 auto}.ws-group-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-group-items{display:flex;flex-direction:column;gap:1px;margin-left:4px}.ws-item{all:unset;display:flex;align-items:center;gap:8px;padding:5px 10px;cursor:pointer;color:#c8daf0;font-size:var(--font-size-sm);border-radius:6px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-item:hover{background:#ffffff14;color:#fff}.ws-item--active{background:#0f8a8333;color:#fff;font-weight:600}.ws-item-text{overflow:hidden;text-overflow:ellipsis}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:8px;font-size:var(--font-size-sm);color:#506277}.pagination button{min-height:var(--control-height);padding:2px 8px;border:1px solid #c2d1ec;background:#f8fbff;border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-sm)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination .page-info{padding:0 6px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px 12px;color:#64748b;font-size:var(--font-size-sm)}.empty-state strong{font-size:var(--font-size-md);color:#334155}.studio-shell{display:flex;flex-direction:column;gap:18px;padding:18px;border-radius:18px;border:1px solid #d6e1ee;background:radial-gradient(circle at top left,rgba(15,138,131,.08),transparent 26%),linear-gradient(180deg,#fff,#f8fbfd);box-shadow:0 18px 40px #14203314}.studio-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.studio-header h2,.studio-header h3,.studio-panel h4,.studio-panel strong{margin:0}.studio-header p,.studio-subtle,.studio-kicker{margin:0;color:#5b6d80;line-height:1.6}.studio-kicker{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#0f5f63}.studio-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.studio-grid{display:grid;gap:14px}.studio-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-grid--auto{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.studio-panel{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:16px;border:1px solid #d7e2ee;background:#ffffffe0;box-shadow:inset 0 1px #fffc}.studio-panel--muted{background:linear-gradient(180deg,#f6fafc,#eef5f8)}.studio-panel--accent{background:linear-gradient(145deg,#0f5f6314,#0f5f6305);border-color:#0f5f632e}.studio-panel--warm{background:linear-gradient(145deg,#fffaf0,#fff5db);border-color:#f0d29a}.studio-stack{display:flex;flex-direction:column;gap:10px}.studio-field{display:flex;flex-direction:column;gap:8px}.studio-field>span:first-child{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#476076}.studio-control,.studio-field input,.studio-field select,.studio-field textarea,.studio-inline-input{width:100%;min-height:44px;padding:0 14px;border:1px solid #cfdae6;border-radius:12px;background:linear-gradient(180deg,#fff,#f7fafc);color:#142033;box-shadow:inset 0 1px 2px #1420330a;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease}.studio-field textarea{min-height:108px;padding:12px 14px;resize:vertical}.studio-control:focus,.studio-field input:focus,.studio-field select:focus,.studio-field textarea:focus,.studio-inline-input:focus{outline:0;border-color:#0f8a83;background:#fff;box-shadow:0 0 0 4px #0f8a831f}.studio-control:disabled,.studio-field input:disabled,.studio-field select:disabled,.studio-field textarea:disabled{background:#eef3f7;color:#728295;cursor:not-allowed}.studio-checkbox-row{display:flex;flex-wrap:wrap;gap:10px}.studio-check{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:0 14px;border:1px solid #d7e2ee;border-radius:999px;background:#f8fbfd;color:#24415c;font-weight:600}.studio-check input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:#0f8a83}.studio-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.studio-button{min-height:42px;padding:0 16px;border:1px solid #0f5f63;border-radius:12px;background:linear-gradient(180deg,#147479,#0f5f63);color:#fff;font-weight:800;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.studio-button:hover{box-shadow:0 14px 24px #0f5f6338;transform:translateY(-1px)}.studio-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.studio-button--ghost{border-color:#c8d6e5;background:#f8fbff;color:#24415c}.studio-button--danger{border-color:#f3c3bd;background:#fff4f2;color:#b23a2d}.studio-card-button{width:100%;text-align:left;padding:16px;border:1px solid #d7e2ee;border-radius:16px;background:linear-gradient(180deg,#fff,#f7fbfd);display:flex;flex-direction:column;align-items:flex-start;gap:10px;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.studio-card-button:hover{transform:translateY(-2px);border-color:#0f8a8359;box-shadow:0 18px 32px #14203314}.studio-icon-title{display:flex;align-items:center;gap:10px}.studio-item-list{display:flex;flex-direction:column;gap:10px}.studio-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px solid #d7e2ee;border-radius:14px;background:#fbfdff}.studio-item code,.studio-code{padding:4px 8px;border-radius:999px;background:#eef4f8;color:#315069;font-size:.75rem}.studio-hint{padding:12px 14px;border:1px solid #d7e2ee;border-radius:14px;background:#f7fbff;color:#587086;font-size:.82rem;line-height:1.6}.studio-preview{border:1px solid #d7e2ee;border-radius:16px;overflow:hidden;background:#fff}.studio-preview-head{padding:12px 14px;border-bottom:1px solid #e0e7ef;background:linear-gradient(180deg,#f8fbfd,#eef5f8);font-weight:800;color:#24415c}.studio-pills{display:flex;flex-wrap:wrap;gap:8px}.studio-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;background:#eef5f8;color:#315069;font-size:.76rem;font-weight:700}.studio-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.studio-metric{padding:14px;border-radius:16px;border:1px solid #d7e2ee;background:#fff}.studio-metric strong{display:block;margin-bottom:6px}.studio-home-section{display:flex;flex-direction:column;gap:12px}.studio-form-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.studio-table-input{min-height:38px;border-radius:10px}@media(max-width:900px){.studio-grid--two{grid-template-columns:1fr}.studio-shell{padding:14px}}
