.auth-shell{position:relative;isolation:isolate;min-height:100vh;overflow:hidden;background:var(--background)}.auth-shell:before{position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;z-index:-2;background-image:url(/assets/auth-foundry-background-DYm8atPZ.png);background-position:center;background-size:cover;content:"";filter:blur(2px);transform:scale(1.02)}.auth-shell:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#060c17bd,#090f1b47 42%,#090e1814 76%,#05091033);content:""}.auth-layout{position:absolute;top:50%;right:0;left:0;display:grid;grid-template-columns:minmax(540px,34vw) minmax(0,1fr);align-items:start;transform:translateY(-50%)}.auth-visual{position:relative;grid-column:2;grid-row:1;z-index:0;color:#fff;pointer-events:none}.auth-visual-message{position:relative;max-width:560px;margin-left:clamp(24px,2vw,48px)}.auth-visual-message>p{display:flex;align-items:center;gap:10px;margin:0 0 18px;color:#a7d86f;font-size:13px;font-weight:700;text-transform:uppercase}.auth-visual-message>p:before{width:30px;height:2px;background:#7ec444;content:""}.auth-visual-message h2{max-width:560px;margin:0;color:#fff;font-size:clamp(38px,3.4vw,58px);font-weight:650;line-height:1.05;text-shadow:0 3px 22px rgb(0 0 0 / 38%)}.auth-visual-message span{display:block;max-width:500px;margin-top:22px;color:#ffffffd1;font-size:16px;line-height:1.65;text-shadow:0 2px 12px rgb(0 0 0 / 35%)}.auth-panel{position:relative;grid-column:1;grid-row:1;z-index:1;width:min(470px,calc(100% - 48px));margin-left:clamp(24px,5vw,92px);overflow:hidden;border:1px solid rgb(255 255 255 / 55%);border-radius:8px;background:#f8fafbe8;box-shadow:0 32px 90px #040a1273;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.auth-panel:before{position:absolute;top:0;right:0;left:0;z-index:1;height:4px;background:linear-gradient(90deg,#62ae37 0,#62ae37 34%,#3f93a7 34%,#3f93a7);content:""}.auth-brand{display:flex;align-items:center;gap:12px;padding:30px 38px 26px;border-bottom:1px solid var(--border)}.auth-brand-logo{width:76px;height:42px;object-fit:contain;object-position:left center;flex:0 0 auto}.auth-brand strong,.auth-brand span{display:block}.auth-brand strong{font-size:18px}.auth-brand span{margin-top:2px;color:var(--muted-foreground);font-size:13px}.auth-form,.auth-loading{display:grid;gap:18px;padding:28px 38px 32px}.auth-lock-icon{display:grid;place-items:center;width:46px;height:46px;margin-bottom:2px;border:1px solid #dbe3e8;border-radius:8px;color:#559e2b;background:#fff;box-shadow:0 10px 30px #13263214}.auth-loading{min-height:180px;place-items:center;color:var(--muted-foreground)}.auth-heading{display:grid;gap:6px}.auth-heading h1{font-size:24px}.auth-heading p{margin:0;color:var(--muted-foreground);font-size:14px;line-height:1.5}.auth-form>label{display:grid;gap:7px;color:var(--foreground);font-size:13px;font-weight:700}.auth-form>label input{width:100%;height:42px;padding:0 12px}.auth-form>label .auth-input{display:flex;align-items:center;gap:12px;height:50px;padding:0 15px;border:1px solid #cfd8df;border-radius:7px;color:#8a97a4;background:#ffffffeb;box-shadow:0 1px 2px #1018280a}.auth-form>label .auth-input:focus-within{border-color:#73b64a;box-shadow:0 0 0 3px #73b64a26}.auth-form>label .auth-input input{height:100%;padding:0;border:0;outline:0;background:transparent;box-shadow:none}.auth-form>button{min-height:42px}.auth-secure{display:flex;align-items:center;justify-content:center;gap:7px;margin:2px 0 -4px;color:#84909c;font-size:12px;font-weight:500}@media (max-width: 1180px){.auth-visual-message{display:none}}@media (max-width: 700px){.auth-shell{display:grid;place-items:center;padding:22px}.auth-shell:after{background:#080e1870}.auth-layout{position:static;display:block;width:100%;transform:none}.auth-panel{top:auto;width:min(470px,100%);margin:0}.auth-brand{padding:26px 26px 22px}.auth-form,.auth-loading{padding:26px}}.auth-form .form-error{margin:-4px 0 0}.auth-establishment-form{width:100%}.auth-establishment-list{display:grid;gap:8px;max-height:300px;overflow-y:auto}.auth-establishment-list label{display:grid;grid-template-columns:18px 20px minmax(0,1fr);align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--card);cursor:pointer}.auth-establishment-list label.selected{border-color:var(--ring);background:var(--secondary)}.auth-establishment-list input{width:16px;height:16px}:root{color:#020817;background:#f8fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--background: hsl(210 40% 98%);--foreground: hsl(222.2 84% 4.9%);--card: hsl(0 0% 100%);--card-foreground: hsl(222.2 84% 4.9%);--muted: hsl(210 40% 96.1%);--muted-foreground: hsl(215.4 16.3% 46.9%);--primary: hsl(222.2 47.4% 11.2%);--primary-foreground: hsl(210 40% 98%);--secondary: hsl(210 40% 96.1%);--secondary-foreground: hsl(222.2 47.4% 11.2%);--border: hsl(214.3 31.8% 91.4%);--input: hsl(214.3 31.8% 91.4%);--ring: hsl(222.2 84% 4.9%);--destructive: hsl(0 84.2% 60.2%);--destructive-foreground: hsl(210 40% 98%);--success: hsl(142.1 76.2% 36.3%);--button-color: #87377f;--button-border: #e6d8e8;--button-background: #ffffff;--button-hover-background: #f8f1f8;--button-hover-border: #cdaecd;--radius: 8px;--sidebar-width: 260px;--topbar-height: 88px}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.dialog-header h3{margin:0}.dialog-header p{margin:4px 0 0;color:var(--muted-foreground)}@media (max-width: 900px){.dialog-header{align-items:stretch;flex-direction:column}}*{box-sizing:border-box}body{margin:0;background:var(--background)}button,select,input,textarea{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border:1px solid var(--button-border);border-radius:999px;padding:0 14px;background:var(--button-background);color:var(--button-color);font-weight:700;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}button:hover:not(:disabled){border-color:var(--button-hover-border);background:var(--button-hover-background);color:var(--button-color)}button:disabled{cursor:default;opacity:.55}h1,h2{margin:0;color:var(--foreground)}h1{font-size:28px;font-weight:700}h2{font-size:17px;font-weight:700}select,input,textarea{min-width:0;border:1px solid var(--input);border-radius:calc(var(--radius) - 2px);background:var(--card);color:var(--foreground);outline:none}select:focus,input:focus,textarea:focus{border-color:var(--ring);box-shadow:0 0 0 2px #0208171a}select{min-width:280px;height:40px;padding:0 12px}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.summary-grid article,.panel,.state,.placeholder,.modal{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);color:var(--card-foreground);box-shadow:0 1px 2px #0208170a}.summary-grid article{padding:18px}.summary-grid span{display:block;color:var(--muted-foreground);margin-bottom:8px;font-size:13px}.summary-grid strong{font-size:24px;font-weight:700}.content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.content-grid.single{grid-template-columns:1fr}.panel{min-width:0;overflow:hidden}.panel.wide{grid-column:1 / -1}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--border)}.panel-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.panel-filter{display:flex;justify-content:flex-start;padding:12px 18px;border-bottom:1px solid var(--border);background:var(--muted)}.panel-filter label{display:flex;align-items:center;gap:10px;color:var(--muted-foreground);font-size:13px;font-weight:700}.panel-filter select{min-width:260px}.panel-header button,.modal-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;border:1px solid var(--button-border);border-radius:999px;padding:0 14px;background:var(--button-background);color:var(--button-color);font-weight:700}.panel-header button:hover,.modal-actions button:hover{border-color:var(--button-hover-border);background:var(--button-hover-background);color:var(--button-color)}table{width:100%;border-collapse:collapse}th,td{padding:13px 18px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{color:var(--muted-foreground);font-size:13px;font-weight:700}.treeview{display:grid;padding:6px 0}.treeview.large-tree{min-height:420px}.tree-row{display:grid;grid-template-columns:34px minmax(220px,1fr) 120px 120px 110px 90px 116px;align-items:center;gap:10px;min-height:50px;padding:8px 18px 8px calc(18px + var(--tree-level, 0) * 28px);border-bottom:1px solid var(--border)}.tree-row:hover{background:var(--muted)}.tree-header{padding-left:18px;color:var(--muted-foreground);font-size:13px;font-weight:700;background:var(--muted)}.tree-header:hover{background:var(--muted)}.tree-toggle,.tree-actions button,.modal-close{display:grid;place-items:center;border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--card);color:var(--muted-foreground)}.tree-toggle{width:28px;height:28px}.tree-toggle:hover,.tree-actions button:hover,.modal-close:hover{background:var(--secondary);color:var(--secondary-foreground)}.tree-toggle:disabled{border-color:transparent;background:transparent}.tree-main{display:grid;gap:3px;min-width:0}.tree-main strong,.tree-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-main strong{display:flex;align-items:center;gap:8px}.structure-type-dot{flex:0 0 auto;width:10px;height:10px;border-radius:999px;box-shadow:0 0 0 1px #ffffffd9}.tree-main span,.tree-meta,.tree-data{color:var(--muted-foreground);font-size:13px}.tree-data{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-actions,.row-actions{display:flex;justify-content:flex-end;gap:6px}.tree-actions button,.row-actions button{width:32px;height:32px}.row-actions button{display:grid;place-items:center;padding:0;border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--card);color:var(--muted-foreground)}.row-actions button:hover:not(:disabled){background:var(--secondary);color:var(--secondary-foreground)}.data-grid-actions-column{box-sizing:border-box;width:1%;text-align:center;white-space:nowrap}.data-grid-actions-column .row-actions{justify-content:center}.grid-logo{display:grid;place-items:center;width:64px;height:88px;border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--muted);color:var(--muted-foreground);overflow:hidden;padding:4px;font-size:12px}.grid-logo img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;background:var(--card)}.empty-row{padding:24px 18px;color:var(--muted-foreground)}.state{display:grid;place-items:center;min-height:240px}.state.error,.form-error{color:var(--destructive)}.placeholder{display:grid;place-items:center;min-height:420px;color:var(--muted-foreground);text-align:center}.placeholder h2{margin-top:14px}.placeholder p{max-width:520px;margin:10px 0 0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:24px;background:#0208178c}.modal{position:relative;display:grid;gap:16px;width:min(560px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:28px;box-shadow:0 24px 80px #02081738}.modal.large{width:min(980px,100%)}.modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;font-weight:800}.modal label{display:grid;gap:7px;color:var(--foreground);font-size:13px;font-weight:700}.modal input,.modal textarea,.modal select{width:100%;padding:10px 12px}.date-clear-field{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:6px;width:100%;min-width:0}.date-clear-field input[type=date]{width:100%;min-width:0}.date-clear-field button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--button-border);border-radius:999px;background:var(--button-background);color:var(--button-color);padding:0}.date-clear-field button:hover{border-color:var(--button-hover-border);background:var(--button-hover-background)}.form-error{margin:0;font-weight:700}.modal-note{margin:0;color:var(--muted-foreground)}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.modal-actions .secondary{border-color:var(--button-border);background:var(--button-background);color:var(--button-color)}.modal-actions .secondary:hover{border-color:var(--button-hover-border);background:var(--button-hover-background)}.switch-label{display:flex!important;align-items:center;gap:10px!important;min-height:46px;border-radius:var(--radius);padding:0 12px;background:#7a3a78;color:#fff!important;align-self:end;white-space:nowrap}.switch-label input{flex:0 0 auto;width:18px;height:18px;accent-color:#78afe2}.form-success{border-radius:var(--radius);padding:12px 16px;background:#dcfce7;color:#166534}@media (max-width: 900px){.content-grid,.summary-grid{grid-template-columns:1fr}select{min-width:0;width:100%}.tree-row{grid-template-columns:30px minmax(0,1fr) 104px}.tree-meta,.tree-data,.tree-header span:nth-child(3),.tree-header span:nth-child(4),.tree-header span:nth-child(5),.tree-header span:nth-child(6){display:none}}:is(.application-settings-header>button,.evrp-settings-view>header>button,.formula-editors button,.location-dialog-footer button,.risk-reference-form-actions button,.risk-reference-pagination button,.structure-type-actions button,.evaluation-header-actions button,.evaluation-footer-actions button,button.secondary){min-height:34px;border:1px solid var(--button-border);border-radius:999px;padding:0 14px;background:var(--button-background);color:var(--button-color);box-shadow:none;font-weight:700}:is(.application-settings-header>button,.evrp-settings-view>header>button,.formula-editors button,.location-dialog-footer button,.risk-reference-form-actions button,.risk-reference-pagination button,.structure-type-actions button,.evaluation-header-actions button,.evaluation-footer-actions button,button.secondary):hover:not(:disabled){border-color:var(--button-hover-border);background:var(--button-hover-background);color:var(--button-color)}
