:root{--blue:#07549b;--blue-2:#063b70;--blue-soft:#e8f2fb;--green:#58b82a;--green-2:#3f941c;--green-soft:#ebf8e6;--red:#e04855;--red-soft:#fff0f1;--amber:#e9a928;--ink:#102a43;--muted:#6b7f91;--line:#dfe8ee;--surface:#fff;--bg:#f4f7f8;--radius:18px;--shadow:0 12px 36px rgba(16,42,67,.08);font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg)}body{font-size:15px}button,input,select,textarea{font:inherit}button,a{transition:.2s ease}a{color:var(--blue);text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:1.75rem;margin-bottom:0}h2{font-size:1.7rem}h3{font-size:1.05rem;margin-bottom:.3rem}.muted{color:var(--muted)}.w-100{width:100%}.hidden{display:none!important}.eyebrow{display:block;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.55rem}.eyebrow.blue{color:var(--blue)}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:1.05rem}.brand span:last-child{display:flex;flex-direction:column;line-height:1}.brand small{color:var(--green);font-size:.82rem;font-weight:700}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:#fff;font-weight:900;font-style:italic;background:linear-gradient(145deg,var(--blue),#0c72c7);box-shadow:inset 0 -4px 0 rgba(0,0,0,.12);position:relative}.brand-mark:after{content:"";position:absolute;width:19px;height:5px;background:var(--green);right:-6px;top:6px;transform:rotate(-8deg);border-radius:5px}.brand-light{color:#fff}
.btn{border:0;border-radius:11px;padding:.76rem 1rem;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-weight:750;cursor:pointer}.btn-lg{padding:.95rem 1.15rem}.btn-primary{color:#fff;background:linear-gradient(135deg,var(--green),var(--green-2));box-shadow:0 8px 18px rgba(88,184,42,.2)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(88,184,42,.28)}.btn-outline{background:#fff;border:1px solid var(--line);color:var(--ink)}.btn-outline:hover,.btn-ghost:hover{background:var(--blue-soft);border-color:#b9d6ec}.btn-ghost{background:transparent;color:var(--muted)}
label{display:flex;flex-direction:column;gap:.42rem;color:#29445b;font-weight:650;font-size:.86rem}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:.78rem .85rem;background:#fff;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#4a9bd5;box-shadow:0 0 0 3px rgba(7,84,155,.1)}label small{color:var(--muted);font-weight:400}.form-stack{display:flex;flex-direction:column;gap:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.check-row{flex-direction:row;align-items:flex-start;font-weight:450}.check-row input{width:auto;margin-top:.15rem}.input-action,.suffix{position:relative}.input-action input,.suffix input{padding-right:3.2rem}.input-action button{position:absolute;right:.35rem;top:.35rem;border:0;background:none;padding:.45rem;color:var(--muted);cursor:pointer}.suffix span{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:500}
.alert{display:flex;gap:.65rem;align-items:center;border-radius:12px;padding:.9rem 1rem;margin:0 0 1.2rem;border:1px solid}.alert-success{background:var(--green-soft);border-color:#c8eab9;color:#286714}.alert-danger{background:var(--red-soft);border-color:#f2c6ca;color:#9b2430}.alert-warning{background:#fff8e4;border-color:#f1dc9b;color:#80610e}
.toast-region{position:fixed;z-index:200;top:max(18px,env(safe-area-inset-top));right:18px;width:min(410px,calc(100% - 36px));pointer-events:none}.toast{pointer-events:auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px 14px 14px 16px;border:1px solid;border-radius:14px;background:#fff;box-shadow:0 18px 50px rgba(16,42,67,.2);font-size:.88rem;line-height:1.45;animation:toast-in .28s ease-out both}.toast-icon{font-size:1.2rem}.toast button{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:currentColor;opacity:.65;cursor:pointer}.toast button:hover{background:rgba(16,42,67,.07);opacity:1}.toast-success{border-color:#b9dfa7;color:#286714}.toast-success .toast-icon{color:var(--green)}.toast-danger{border-color:#efbdc2;color:#982632}.toast-danger .toast-icon{color:var(--red)}.toast-warning{border-color:#ebd18a;color:#76580b}.toast-warning .toast-icon{color:#c98d12}.toast.toast-leaving{animation:toast-out .22s ease-in both}@keyframes toast-in{from{opacity:0;transform:translate3d(24px,-8px,0)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translate3d(28px,0,0)}}
@media(max-width:600px){.toast-region{top:max(10px,env(safe-area-inset-top));right:10px;width:calc(100% - 20px)}.toast{padding:12px 10px 12px 13px}}
.auth-body{background:#fff}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(430px,.92fr)}.auth-visual{position:relative;overflow:hidden;padding:48px 7vw;color:#fff;background:linear-gradient(145deg,rgba(3,41,76,.98),rgba(7,84,155,.9)),radial-gradient(circle at 85% 30%,#92c966,transparent 45%)}.auth-visual:before{content:"";position:absolute;inset:auto -10% -15% -10%;height:50%;background:linear-gradient(170deg,#6eb43a 0 42%,#4b942a 43% 62%,#d4b772 63%);clip-path:polygon(0 55%,28% 25%,49% 48%,74% 10%,100% 32%,100% 100%,0 100%)}.auth-copy{position:relative;z-index:1;max-width:660px;margin-top:24vh}.auth-copy h1{font-size:clamp(2.8rem,5vw,5.2rem);line-height:1.02;letter-spacing:normal;margin-bottom:1.4rem}.auth-copy h1 em{font-style:normal;color:#a6e67e}.auth-copy p{max-width:550px;font-size:1.15rem;line-height:1.6;color:#dcecf7}.field-art{position:absolute;right:8%;bottom:9%;z-index:2}.field-art .sun{position:absolute;width:82px;height:82px;border-radius:50%;background:#ffd66b;right:80px;bottom:110px;box-shadow:0 0 55px #ffe5a6}.field-art .barn{display:block;font-size:150px;line-height:1;color:#f7eee1;text-shadow:0 12px 30px rgba(0,0,0,.18)}.chicken{position:absolute;right:-35px;bottom:7px;font-size:64px;color:#fff}.chicken b{color:#ef5947}.register-visual{background:linear-gradient(145deg,#063b70,#0b6aae)}.auth-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:36px 7vw;background:#fff}.auth-card{width:min(440px,100%)}.auth-card h2{font-size:2rem;margin-bottom:.6rem}.auth-card>.muted{line-height:1.5;margin-bottom:1.7rem}.mobile-brand{display:none;margin-bottom:2.2rem}.divider{display:flex;align-items:center;gap:1rem;margin:1.25rem 0;color:#95a3ae}.divider:before,.divider:after{content:"";height:1px;background:var(--line);flex:1}.auth-footer{text-align:center;color:var(--muted);margin:1.4rem 0 0}.auth-footer a{font-weight:700}.auth-panel footer{position:absolute;bottom:20px;color:#9aa9b5;font-size:.75rem}.install-card{width:min(520px,calc(100% - 32px));margin:10vh auto;padding:36px;background:#fff;border-radius:20px;box-shadow:var(--shadow)}
.app-body{background:var(--bg)}.sidebar{position:fixed;inset:0 auto 0 0;width:252px;background:#fff;border-right:1px solid var(--line);padding:24px 18px;display:flex;flex-direction:column;z-index:40}.sidebar>.brand{padding:0 12px;margin-bottom:35px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav a,.sidebar-bottom a,.sidebar-bottom button{width:100%;display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:10px;color:#5d7182;font-weight:650;border:0;background:none;cursor:pointer}.sidebar a i,.sidebar button i{font-size:1.18rem}.sidebar nav a:hover,.sidebar nav a.active{background:var(--blue-soft);color:var(--blue)}.sidebar nav a.active:before{content:"";width:4px;height:25px;border-radius:5px;background:var(--green);margin-left:-14px}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:12px}.sidebar-bottom form{margin:0}.app-shell{margin-left:252px;min-height:100vh}.topbar{height:91px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;position:sticky;top:0;z-index:30}.topbar h1{font-size:1.45rem}.topbar small{color:var(--muted);text-transform:capitalize}.user-pill{display:flex;align-items:center;gap:10px}.user-pill>span,.avatar{width:40px;height:40px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-weight:800}.user-pill div{display:flex;flex-direction:column}.user-pill div small{font-size:.72rem}.mobile-menu{display:none}.main-content{padding:34px 42px 70px;max-width:1500px;margin:0 auto}.mobile-nav{display:none}
.welcome-row,.page-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.welcome-row h2{margin-bottom:.35rem}.capture-card{background:linear-gradient(105deg,#fff 40%,#f0f9ec);border:1px solid #d8ebcf;border-radius:var(--radius);padding:21px 24px;display:flex;align-items:center;gap:18px;box-shadow:var(--shadow);margin-bottom:28px}.capture-card.complete{background:linear-gradient(105deg,#fff,#eff8fb);border-color:#d8e8f2}.capture-icon{width:54px;height:54px;border-radius:14px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:1.55rem}.capture-card>div:nth-child(2){flex:1}.capture-card small,.capture-card p{color:var(--muted)}.capture-card h3,.capture-card p{margin-bottom:.15rem}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 13px}.section-heading h3{margin:0}.section-heading span{font-size:.8rem;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;display:flex;gap:13px;align-items:center;box-shadow:0 5px 18px rgba(16,42,67,.04)}.metric-icon,.input-icon{flex:0 0 auto;width:43px;height:43px;border-radius:11px;display:grid;place-items:center;font-size:1.2rem}.metric-icon.blue,.input-icon.blue{background:var(--blue-soft);color:var(--blue)}.metric-icon.green{background:var(--green-soft);color:var(--green-2)}.metric-icon.red,.input-icon.red{background:var(--red-soft);color:var(--red)}.metric-icon.amber,.input-icon.amber{background:#fff5dd;color:#c1840d}.metric-card div{display:flex;flex-direction:column}.metric-card small{color:var(--muted)}.metric-card strong{font-size:1.55rem;letter-spacing:normal}.metric-card strong small{font-size:.8rem}.metric-card em{font-size:.7rem;font-style:normal;color:#8aa0b1}.content-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.8fr);gap:20px}.panel,.empty-state,.form-card,.security-hero{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 5px 18px rgba(16,42,67,.035);margin-bottom:22px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.panel-head h3{margin:0}.panel-head p{font-size:.82rem;color:var(--muted);margin:.25rem 0 0}.panel-head a{font-size:.84rem;font-weight:700}.chart-panel canvas{max-height:300px}.silo-row{display:grid;grid-template-columns:18px 1fr auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.silo-row:last-child{border:0}.silo-icon{width:13px;height:42px;border-radius:6px;background:linear-gradient(to top,var(--green) 70%,#e4ebef 70%)}.silo-icon.low{background:linear-gradient(to top,var(--amber) 18%,#e4ebef 18%)}.silo-row>div{display:grid;grid-template-columns:1fr auto}.silo-row small{color:var(--muted)}.progress{grid-column:1/3;height:5px;border-radius:5px;background:#e8eef2;margin-top:7px;overflow:hidden}.progress i{display:block;height:100%;background:var(--green);border-radius:5px}.mini-empty,.empty-state{text-align:center;color:var(--muted);padding:38px}.mini-empty i,.empty-state>i{font-size:2rem;color:#a6b8c5}.empty-state h3,.empty-state h2{color:var(--ink);margin-top:10px}.empty-state.centered{max-width:600px;margin:12vh auto}.success-orbit{width:82px;height:82px;background:var(--green-soft);color:var(--green);border-radius:50%;display:grid;place-items:center;font-size:2rem;margin:0 auto}
.card-list{display:flex;flex-direction:column;gap:12px}.list-card{display:flex;align-items:center;gap:16px;padding:19px 21px;border:1px solid var(--line);background:#fff;border-radius:14px}.status-dot{width:11px;height:11px;border-radius:50%;background:#9aabb7}.status-dot.active{background:var(--green);box-shadow:0 0 0 5px var(--green-soft)}.list-main{flex:1}.list-main small,.list-main p{color:var(--muted)}.list-main h3,.list-main p{margin-bottom:.2rem}.status-badge{display:inline-flex;padding:.35rem .6rem;border-radius:999px;background:#edf1f3;color:#637481;font-size:.72rem;font-weight:750}.status-badge.active,.status-badge.approved{background:var(--green-soft);color:#348018}.status-badge.blocked{background:var(--red-soft);color:#a62d37}.status-badge.approval_pending,.status-badge.email_pending{background:#fff5dd;color:#8a6412}.export-actions,.inline-actions{display:flex;gap:8px}.dialog{width:min(680px,calc(100% - 30px));max-height:90vh;border:0;border-radius:20px;padding:0;box-shadow:0 25px 80px rgba(16,42,67,.26)}.dialog::backdrop{background:rgba(9,31,49,.55);backdrop-filter:blur(4px)}.dialog form{padding:26px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.dialog-head button,.modal-close{border:0;background:#f0f4f6;width:36px;height:36px;border-radius:50%;cursor:pointer}.dialog h2{margin:0}
.wizard{max-width:860px;margin:0 auto}.wizard-top{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:20px}.wizard-top label{flex-direction:row;align-items:center}.wizard-top select,.wizard-top input{border:0;padding:.5rem}.stepper{display:flex;max-width:620px;margin:25px auto 45px}.stepper span{display:flex;align-items:center;flex:1}.stepper span:last-child{flex:0}.stepper b{width:28px;height:28px;border-radius:50%;background:#dfe7ec;color:#8295a4;display:grid;place-items:center;font-size:.75rem;transition:.25s}.stepper i{height:3px;background:#dfe7ec;flex:1}.stepper span.active b,.stepper span.done b{background:var(--blue);color:#fff}.stepper span.done i{background:var(--blue)}.wizard-step{display:none;animation:slideIn .3s ease}.wizard-step.active{display:block}.wizard-step>h2{margin-bottom:.35rem}.wizard-step>p{color:var(--muted);margin-bottom:26px}.input-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.input-card-grid article{display:grid;grid-template-columns:auto 1fr;gap:13px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.input-card-grid article label{grid-column:1/3}.input-card-grid article p{color:var(--muted);font-size:.8rem;margin:0}.input-card-grid article h3{margin:0}.toggle-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.toggle-grid label{flex-direction:row;align-items:center;justify-content:space-between;padding:14px;border:1px solid var(--line);border-radius:11px}.toggle-grid label span{display:flex;align-items:center;gap:9px}.toggle-grid input{width:42px;height:22px;accent-color:var(--green)}.wizard-actions{display:flex;justify-content:space-between;margin-top:28px}.wizard-actions [data-next],.wizard-actions [data-save]{margin-left:auto}@keyframes slideIn{from{opacity:0;transform:translateX(15px)}to{opacity:1;transform:none}}
.timeline>h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:22px 0 10px}.timeline article{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);padding:16px;border-radius:13px;margin-bottom:9px}.timeline article>div:nth-child(2){flex:1;display:flex;flex-direction:column}.timeline small,.timeline p,.timeline time{color:var(--muted);font-size:.8rem}.timeline p{margin:3px 0 0}.signature{width:100%;height:160px;border:1px dashed #9eb0bd;border-radius:10px;background:#fbfdfd;touch-action:none}.text-button{border:0;background:none;color:var(--blue);align-self:flex-end;cursor:pointer}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.icon-button{border:0;border-radius:8px;width:34px;height:34px;cursor:pointer}.icon-button.success{background:var(--green-soft);color:var(--green-2)}.icon-button.danger{background:var(--red-soft);color:var(--red)}.tenant-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tenant-grid article,.key-list article{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:14px}.tenant-grid article div,.key-list article div{display:flex;flex-direction:column;flex:1}.tenant-grid small,.key-list small{color:var(--muted)}.security-hero{display:grid;grid-template-columns:180px 1fr;gap:30px;align-items:center;padding:32px;background:linear-gradient(120deg,#fff,#eff8fc)}.security-art{width:150px;height:150px;border-radius:38px;background:linear-gradient(145deg,var(--blue),#1683cf);display:grid;place-items:center;color:#fff;font-size:5rem;transform:rotate(-4deg);box-shadow:0 18px 35px rgba(7,84,155,.2)}.security-hero p{color:var(--muted);line-height:1.6;max-width:720px}.modal-backdrop{position:fixed;inset:0;background:rgba(9,31,49,.58);display:grid;place-items:center;z-index:100;padding:20px;backdrop-filter:blur(5px)}.modal-card{position:relative;background:#fff;border-radius:22px;padding:32px;width:min(430px,100%);text-align:center;box-shadow:0 28px 90px rgba(0,0,0,.3)}.modal-close{position:absolute;right:16px;top:16px}.modal-icon{width:80px;height:80px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-size:2.5rem;display:grid;place-items:center;margin:0 auto 18px}.modal-card p{color:var(--muted);line-height:1.55;margin-bottom:22px}
.auth-copy h1{font-size:clamp(2.7rem,3.8vw,4.2rem);letter-spacing:normal;overflow-wrap:anywhere}
@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.tenant-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){body{font-size:14px}.auth-shell{display:block}.auth-visual{display:none}.auth-panel{min-height:100vh;padding:28px 22px 70px;justify-content:flex-start}.auth-card{margin-top:4vh}.mobile-brand{display:flex}.auth-panel footer{position:static;margin-top:30px}.sidebar{transform:translateX(-105%);transition:.25s}.sidebar.open{transform:none;box-shadow:20px 0 60px rgba(0,0,0,.18)}.app-shell{margin:0}.topbar{height:74px;padding:0 17px}.topbar>div:nth-child(2) small{display:none}.topbar h1{font-size:1.2rem}.user-pill>div{display:none}.mobile-menu{display:block;border:0;background:none;font-size:1.6rem;color:var(--ink);padding:5px}.main-content{padding:20px 16px 92px}.mobile-nav{position:fixed;display:flex;inset:auto 0 0 0;height:70px;background:#fff;border-top:1px solid var(--line);z-index:35;padding:8px 12px max(8px,env(safe-area-inset-bottom));justify-content:space-around}.mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--muted);font-size:.68rem}.mobile-nav i{font-size:1.25rem}.welcome-row{align-items:flex-start}.welcome-row>.btn{font-size:0;width:44px;height:44px;padding:0}.welcome-row>.btn i{font-size:1rem}.capture-card{display:grid;grid-template-columns:auto 1fr;padding:16px}.capture-card>a{grid-column:1/3;width:100%}.metric-grid{grid-template-columns:1fr 1fr;gap:9px}.metric-card{padding:13px;align-items:flex-start}.metric-card .metric-icon{width:36px;height:36px}.metric-card strong{font-size:1.25rem}.content-grid{display:block}.form-grid,.form-grid.three,.input-card-grid,.toggle-grid,.wizard-top,.security-hero{grid-template-columns:1fr}.input-card-grid article{padding:16px}.wizard-top label{flex-direction:column;align-items:stretch}.stepper{margin:20px 15px 32px}.wizard-actions{position:sticky;bottom:76px;background:rgba(244,247,248,.95);padding:10px 0;z-index:15}.list-card{align-items:flex-start;flex-wrap:wrap}.status-badge{margin-left:auto}.export-actions{width:100%}.export-actions .btn{flex:1}.timeline time{align-self:flex-start}.tenant-grid{grid-template-columns:1fr}.security-art{width:95px;height:95px;font-size:3rem;margin:auto}.security-hero{text-align:center}.report-card .metric-icon{display:none}.form-grid{gap:.8rem}}
@media(max-width:420px){.metric-grid{grid-template-columns:1fr}.topbar .user-pill>span{width:36px;height:36px}.wizard-step h2{font-size:1.45rem}}
.invite-grid,.team-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.invite-grid article,.team-cards article{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff}.invite-grid article>div,.team-cards article>div{display:flex;flex-direction:column;min-width:0;flex:1}.invite-grid small,.team-cards small,.invite-grid time{color:var(--muted);font-size:.76rem}.invite-grid strong,.invite-grid small,.team-cards strong,.team-cards small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-form select{min-width:125px;padding:.5rem .65rem;background:#f8fafb}.role-hint{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:12px;background:var(--blue-soft);color:var(--blue)}.role-hint i{font-size:1.4rem}.role-hint p{margin:0;color:#3b5870;font-size:.82rem;line-height:1.45}
@media(max-width:1050px){.invite-grid{grid-template-columns:1fr}}
@media(max-width:760px){html{background:var(--blue);overscroll-behavior:none}body{min-height:100dvh;overflow-x:hidden;-webkit-tap-highlight-color:transparent}.app-shell{min-height:100dvh}.topbar{height:calc(68px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 17px 0;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.main-content{padding:18px 14px calc(100px + env(safe-area-inset-bottom))}.mobile-nav{height:calc(72px + env(safe-area-inset-bottom));padding:7px 8px max(7px,env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 -8px 24px rgba(16,42,67,.08)}.mobile-nav a{flex:1;justify-content:center;font-size:.64rem;font-weight:650;min-height:48px}.mobile-nav a.active{color:var(--blue)}.mobile-nav .capture-tab{position:relative;transform:translateY(-18px);color:var(--green-2)}.mobile-nav .capture-tab i{width:50px;height:50px;border-radius:17px;background:linear-gradient(145deg,var(--green),var(--green-2));color:#fff;display:grid;place-items:center;font-size:1.35rem;box-shadow:0 9px 20px rgba(88,184,42,.32);border:4px solid #fff}.mobile-nav .capture-tab span{margin-top:2px}.panel,.empty-state,.form-card,.security-hero{border-radius:16px;padding:18px}.metric-card{border-radius:14px;box-shadow:0 5px 16px rgba(16,42,67,.05)}.btn{min-height:44px}.dialog{width:100%;max-height:92dvh;margin:auto 0 0;border-radius:24px 24px 0 0}.dialog form{padding:22px 18px calc(22px + env(safe-area-inset-bottom))}.invite-grid,.team-cards{grid-template-columns:1fr}.team-cards article{padding:12px}.role-form select{min-width:108px}}

/* DSK branding and photographic authentication hero */
.brand-mark{width:48px;height:42px;font-size:.78rem;letter-spacing:normal}
.brand-mark:after{display:none}
.brand-logo{display:block;width:210px;max-width:100%;height:auto}
.sidebar .brand{margin-bottom:30px}
.sidebar .brand-logo{width:196px}
.auth-visual>.brand{display:inline-flex;padding:0;background:transparent;box-shadow:none}
.auth-visual>.brand .brand-logo{width:225px}
.install-card .brand-logo{width:230px}
.auth-visual{
    background:
        linear-gradient(90deg,rgba(2,31,59,.9) 0%,rgba(4,50,89,.7) 52%,rgba(4,50,89,.22) 100%),
        url("../images/login-stall-hero.webp") center/cover no-repeat;
}
.auth-visual:before{
    inset:0;
    height:auto;
    background:linear-gradient(180deg,rgba(2,24,46,.12),rgba(2,24,46,.44));
    clip-path:none;
}
.auth-visual .brand,.auth-copy{position:relative;z-index:1}

/* Legal pages, consent links and global release footer */
.check-row span a{text-decoration:underline;text-underline-offset:2px;font-weight:750}
.global-footer{min-height:64px;padding:13px 32px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);background:#fff;color:var(--muted);font-size:.73rem;position:relative;z-index:20}
.global-footer nav{display:flex;flex-wrap:wrap;gap:8px 18px}
.global-footer a{color:#526a7d;font-weight:700}
.global-footer a:hover{color:var(--blue)}
.global-footer-app{margin-left:252px;background:var(--bg)}
.auth-body .auth-shell{min-height:calc(100vh - 64px)}
.app-body .app-shell{min-height:calc(100vh - 64px)}
.legal-body{background:var(--bg)}
.legal-shell{width:min(980px,calc(100% - 32px));margin:0 auto;padding:28px 0 54px}
.legal-nav-row{display:flex;align-items:center;margin-bottom:18px}
.legal-pills{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:5px;background:#e8eff3;border:1px solid var(--line);border-radius:14px}
.legal-pills a{padding:9px 14px;border-radius:10px;color:#526a7b;font-size:.84rem;font-weight:800;white-space:nowrap}
.legal-pills a:hover{color:var(--blue);background:rgba(255,255,255,.6)}
.legal-pills a.active{background:#fff;color:var(--blue);box-shadow:0 2px 8px rgba(8,48,78,.09)}
.main-content-legal{padding-top:0}
.legal-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(24px,5vw,58px);box-shadow:var(--shadow)}
.legal-card h1{font-size:clamp(2rem,5vw,3.3rem);letter-spacing:normal;margin:.7rem 0 1rem}
.legal-card .lead{font-size:1.08rem;line-height:1.7;color:#4d6578;margin-bottom:2.2rem}
.legal-card h2{font-size:1.15rem;margin:2rem 0 .55rem;color:var(--ink)}
.legal-card p{line-height:1.72;color:#425b6d}
.legal-note,.legal-warning{padding:16px 18px;border-radius:12px;margin:24px 0 0;line-height:1.55}
.legal-note{background:var(--blue-soft);color:#31536c}
.legal-warning{background:#fff4d6;border:1px solid #f2d17a;color:#6c5312}
.legal-warning code{font-weight:800}
.contact-card{width:100%}
.contact-option{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:14px;margin:12px 0}
.contact-option div{display:flex;flex-direction:column;gap:2px}
.contact-option small{color:var(--muted)}
.contact-option a{font-weight:800}
.contact-hint{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
@media(max-width:760px){.global-footer,.global-footer-app{margin-left:0;flex-direction:column;text-align:center;padding:16px 18px calc(18px + env(safe-area-inset-bottom))}.global-footer nav{justify-content:center}.app-body .global-footer{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.auth-body .auth-panel{min-height:calc(100vh - 122px);padding-bottom:32px}.legal-shell{padding-top:18px}.legal-nav-row{align-items:flex-start;gap:10px}.legal-menu-button{flex:0 0 42px;width:42px;height:42px;border:1px solid var(--line);border-radius:11px;background:#fff}.legal-pills{gap:4px;padding:4px}.legal-pills a{padding:8px 10px;font-size:.76rem}.legal-card{border-radius:17px}.legal-card h2{margin-top:1.7rem}}

/* Betriebseinrichtung und mandantensichere Stallauswahl */
.sidebar nav{overflow-y:auto;scrollbar-width:thin}
.barn-switcher{margin:0 2px 18px;padding:11px;background:var(--blue-soft);border:1px solid #cfe4f3;border-radius:12px}
.barn-switcher label{gap:6px}
.barn-switcher label>span{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--blue);font-weight:850}
.barn-switcher select{padding:.62rem 2rem .62rem .72rem;background:#fff;font-size:.82rem;font-weight:750;color:var(--ink);border-color:#bdd7e8}
.context-switcher{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0 2px 14px;padding:4px;background:#f2f6f8;border:1px solid var(--line);border-radius:12px}
.context-switcher a{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:9px 6px;border-radius:8px;color:var(--muted);font-size:.72rem;font-weight:800}
.context-switcher a i{font-size:.9rem}.context-switcher a.active{background:#fff;color:var(--blue);box-shadow:0 2px 8px rgba(8,48,78,.09)}
.setup-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:24px;padding:28px 32px;border-radius:20px;background:linear-gradient(120deg,#fff,#edf8fc);border:1px solid var(--line);overflow:hidden}
.setup-hero>div:first-child{min-width:0;flex:1}
.setup-hero h2{font-size:clamp(1.7rem,3vw,2.5rem);margin:.45rem 0}
.setup-hero p{color:var(--muted);max-width:660px;line-height:1.55}
.setup-progress{display:flex;align-items:center;width:min(390px,100%);min-width:280px;flex:0 1 390px}
.setup-progress span{display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--muted);font-size:.7rem;font-weight:750}
.setup-progress span b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#dce6eb;color:#6f8493}
.setup-progress span.done b{background:var(--green);color:#fff}
.setup-progress i{height:3px;flex:1;background:#dce6eb;margin:0 5px 17px}
.setup-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.setup-grid>*{min-width:0}
.setup-panel>.panel-head>i{font-size:2rem;color:var(--blue)}
.barn-add-form{padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:16px}
.barn-list{display:flex;flex-direction:column;gap:9px}
.barn-list article{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px}
.barn-list article.selected{border-color:#91cc73;background:var(--green-soft)}
.barn-list article>div{display:flex;flex-direction:column;flex:1}
.barn-list small{color:var(--muted)}
.setup-ready{display:flex;align-items:center;gap:18px;margin-top:20px;padding:22px 26px;background:#fff;border:1px solid #bfe3ad;border-radius:18px}
.setup-ready .success-orbit{width:58px;height:58px;font-size:1.7rem;margin:0;flex:0 0 auto}
.setup-ready>div{flex:1}.setup-ready h3{margin-bottom:4px}.setup-ready p{color:var(--muted)}
.selected-barn-note{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:11px;background:var(--blue-soft);color:#315a77;font-size:.82rem}
.selected-barn-note i{font-size:1.2rem;color:var(--blue)}
@media(max-width:1050px){.setup-hero{align-items:flex-start;flex-direction:column}.setup-progress{width:100%;flex:none}.setup-grid{grid-template-columns:1fr}}
@media(max-width:760px){.setup-hero{padding:20px}.setup-progress{min-width:0}.setup-panel{padding:18px}.setup-ready{align-items:flex-start;flex-wrap:wrap}.setup-ready .btn{width:100%}}

/* App-artiger Login mit sichtbarem Stallmotiv auf Smartphones */
@media(max-width:760px){
    .auth-body .auth-shell{display:block;min-height:calc(100dvh - 118px);background:#fff}
    .auth-body .auth-visual{display:block;height:250px;min-height:0;padding:calc(22px + env(safe-area-inset-top)) 22px 0;background:linear-gradient(180deg,rgba(2,31,59,.62) 0%,rgba(3,45,80,.18) 48%,#fff 100%),url("../images/login-stall-hero.webp") 57% center/cover no-repeat}
    .auth-body .auth-visual:before{background:linear-gradient(180deg,rgba(2,24,46,.08) 0%,rgba(2,24,46,0) 48%,#fff 100%)}
    .auth-body .auth-visual .brand{position:relative;z-index:2;padding:0;background:transparent;box-shadow:none}
    .auth-body .auth-visual .brand-logo{width:190px}
    .auth-body .auth-copy{display:none}
    .auth-body .auth-panel{position:relative;z-index:3;min-height:auto;margin-top:-52px;padding:24px 22px 38px;border-radius:26px 26px 0 0;justify-content:flex-start;box-shadow:0 -14px 34px rgba(16,42,67,.08)}
    .auth-body .auth-card{margin-top:0}
    .auth-body .mobile-brand{display:none}
}

/* Keine negative Laufweite in Überschriften oder Kennzahlen */
.auth-copy h1,.metric-card strong{letter-spacing:normal}

/* Verständliche Passwortprüfung bei der Registrierung */
.password-requirements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px;margin:-2px 0 2px;padding:12px 14px;list-style:none;border:1px solid var(--line);border-radius:11px;background:#f8fafb;color:var(--muted);font-size:.78rem}
.password-requirements li{display:flex;align-items:center;gap:7px;min-width:0;transition:color .2s ease}
.password-requirements i{flex:0 0 auto;color:#a5b4bf;font-size:.9rem;transition:color .2s ease,transform .2s ease}
.password-requirements li.fulfilled{color:var(--green-2);font-weight:700}
.password-requirements li.fulfilled i{color:var(--green);transform:scale(1.06)}
@media(max-width:480px){.password-requirements{grid-template-columns:1fr}}

/* Sechsstellige E-Mail-Bestätigung */
.verification-card .muted{line-height:1.55;margin-bottom:1.4rem}.verification-icon{width:58px;height:58px;margin-bottom:18px;border-radius:17px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-size:1.7rem}.verification-code{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.verification-code input{min-width:0;aspect-ratio:1/1;padding:0;text-align:center;border-width:2px;border-radius:12px;font-size:1.55rem;font-weight:850;color:var(--blue);caret-color:var(--green)}.verification-code input:valid{border-color:#9fd583;background:var(--green-soft)}.verification-hint{display:flex;align-items:flex-start;gap:8px;margin:0;color:var(--muted);font-size:.78rem;line-height:1.45}.verification-hint i{color:var(--blue);font-size:1rem}.verification-resend{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:18px;color:var(--muted);font-size:.82rem}.verification-resend button{padding:0;border:0;background:none;color:var(--blue);font-weight:800;cursor:pointer}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:code-spin .7s linear infinite}@keyframes code-spin{to{transform:rotate(360deg)}}.registration-complete-card{text-align:center}.registration-complete-card .success-orbit{margin-bottom:20px}.registration-complete-card p{margin:0 0 24px;color:var(--muted);line-height:1.65}
@media(max-width:420px){.verification-code{gap:5px}.verification-code input{border-radius:10px;font-size:1.3rem}.verification-resend{align-items:flex-start;flex-direction:column}}

/* Zentraler Accountbereich */
.topbar{justify-content:flex-start;gap:18px}
.user-pill{color:var(--ink)}
.sidebar-bottom .account-link{padding:10px;gap:10px}
.sidebar-bottom .account-link.active{background:var(--blue-soft);color:var(--blue)}
.account-avatar,.account-hero-avatar{display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,var(--blue),var(--blue-2));color:#fff;font-weight:850;flex:0 0 auto}
.account-avatar{width:39px;height:39px;font-size:.78rem}
.account-link-copy{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.25}
.account-link-copy strong,.account-link-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-link-copy strong{font-size:.8rem;color:var(--ink)}
.account-link-copy small{font-size:.68rem;color:var(--muted);font-weight:500}
.account-link>.bi-chevron-right{font-size:.72rem}
.account-shell{width:min(880px,100%);margin:0 auto}
.account-hero{display:flex;align-items:center;gap:20px;padding:24px 26px;margin-bottom:18px;border-radius:20px;background:linear-gradient(120deg,#fff,#edf7fc);border:1px solid var(--line);box-shadow:var(--shadow)}
.account-hero-avatar{width:72px;height:72px;font-size:1.35rem;box-shadow:0 10px 22px rgba(7,84,155,.2)}
.account-hero h2{margin:0 0 4px}
.account-hero p{margin:0;color:#435e72}
.account-hero small{display:block;margin-top:4px;color:var(--muted)}
.account-accordion-list{display:flex;flex-direction:column;gap:10px}
.account-section{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 5px 18px rgba(16,42,67,.035);scroll-margin-top:110px}
.account-section[open]{border-color:#c5dce9;box-shadow:0 10px 30px rgba(16,42,67,.07)}
.account-section summary{display:flex;align-items:center;gap:13px;padding:17px 19px;cursor:pointer;list-style:none;user-select:none}
.account-section summary::-webkit-details-marker{display:none}
.account-section summary>span:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.account-section summary small{color:var(--muted);font-size:.76rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-section-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:1.15rem;flex:0 0 auto}
.account-section-icon.blue{background:var(--blue-soft);color:var(--blue)}
.account-section-icon.green{background:var(--green-soft);color:var(--green-2)}
.account-section-icon.amber{background:#fff5dd;color:#b87800}
.account-section-icon.violet{background:#f1edff;color:#6850b8}
.account-chevron{color:#7890a2;transition:transform .2s ease}
.account-section[open] .account-chevron{transform:rotate(180deg)}
.account-section-body{padding:4px 19px 21px 74px;border-top:1px solid #edf2f5}
.account-section-body>.form-stack{padding-top:18px}
.account-section-body label{max-width:560px}
.account-save{align-self:flex-start;min-width:220px}
.account-readonly-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:560px}
.account-readonly-grid>div{display:flex;flex-direction:column;gap:3px;padding:13px 14px;background:var(--bg);border-radius:10px}
.account-readonly-grid small,.account-help{color:var(--muted)}
.account-help{line-height:1.55;margin:18px 0 2px;max-width:620px}
.account-notice{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;margin-top:18px;border-radius:11px;background:#fff7df;color:#725611;line-height:1.45}
.account-passkey-intro{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0}
.account-passkey-intro h3{margin:0 0 4px}.account-passkey-intro p{margin:0;color:var(--muted)}
.account-passkey-list{display:flex;flex-direction:column;gap:8px}
.account-passkey-list article{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px}
.account-passkey-list article>div{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.account-passkey-list article small{color:var(--muted);font-size:.75rem}
.account-empty{display:flex;align-items:center;justify-content:center;gap:9px;padding:22px;border:1px dashed #cdd9e0;border-radius:12px;color:var(--muted)}
@media(max-width:760px){.account-shell{margin-top:0}.account-hero{padding:18px;gap:14px;border-radius:17px}.account-hero-avatar{width:58px;height:58px}.account-section summary{padding:14px}.account-section-body{padding:4px 14px 18px}.account-save{width:100%;min-width:0}.account-readonly-grid{grid-template-columns:1fr}.account-passkey-intro{align-items:stretch;flex-direction:column}.account-passkey-intro .btn{width:100%}.account-passkey-list article{align-items:flex-start}.account-passkey-list article form{margin-left:auto}}
