@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#0a090b;--panel:#121013;--panel2:#171316;--text:#f3eff0;--muted:#a49a9f;--dim:#6e6268;--red:#c91f3a;--red2:#f03b50;--line:#30262b;--mono:'DM Mono',monospace;--sans:'Manrope',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.65;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(90deg,transparent 49.9%,#ffffff04 50%,transparent 50.1%),radial-gradient(ellipse at 78% 18%,#47121d1c,transparent 45%)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.ambient{position:absolute;pointer-events:none;filter:blur(100px);opacity:.11;border-radius:50%;z-index:-1}.ambient-one{width:280px;height:280px;background:#d71b3b;top:220px;left:-160px}.ambient-two{width:350px;height:350px;background:#7d0e29;top:900px;right:-250px}.topbar{height:82px;border-bottom:1px solid #ffffff0c;display:flex;align-items:center;justify-content:space-between;padding:0 max(calc((100vw - 1180px)/2),5vw);position:sticky;top:0;background:#0a090beF;backdrop-filter:blur(18px);z-index:10}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid #b51b34;color:#f13b51;font-size:27px;background:linear-gradient(145deg,#2a0e15,#100b0e);box-shadow:0 0 25px #e91d3c16}.brand b,.brand small{display:block;line-height:1.35}.brand b{font-size:13px;letter-spacing:3px}.brand small{font:9px var(--mono);color:var(--dim);letter-spacing:2px;margin-top:4px}.topbar nav{display:flex;align-items:center;gap:30px;color:#c4b9be;font-size:12px}.topbar nav>a{transition:color .2s}.topbar nav>a:hover{color:#fff}.button{border:1px solid transparent;padding:12px 17px;display:inline-flex;align-items:center;justify-content:center;gap:22px;cursor:pointer;font-size:11px;font-weight:800;letter-spacing:.2px;transition:transform .2s,border-color .2s,background .2s;color:var(--text);background:transparent}.button:hover{transform:translateY(-1px)}.button span{font-size:16px}.button-red{background:var(--red);color:#fff;box-shadow:0 8px 24px #c91f3a22}.button-red:hover{background:#e32a45}.button-outline{border-color:#514047;background:#100d10}.button-outline:hover,.button-quiet:hover{border-color:#b32b41}.button-quiet{border-color:#39282e;padding:9px 13px}.hero{max-width:1180px;margin:auto;min-height:555px;padding:85px 0 72px;display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:65px}.eyebrow{font:10px var(--mono);letter-spacing:2px;color:#d6a0aa;display:flex;align-items:center;gap:10px}.status-dot{width:6px;height:6px;background:#e22d48;border-radius:50%;box-shadow:0 0 12px #e22d48}.hero h1{font-size:clamp(48px,6.2vw,77px);line-height:1.04;letter-spacing:-4px;margin:25px 0 20px;font-weight:800}.hero h1 em,.section-intro h2 em{font-style:normal;color:var(--red2)}.hero-copy>p{color:var(--muted);max-width:460px;font-size:14px;line-height:1.9}.hero-actions{display:flex;gap:12px;margin-top:28px}.trust-line{margin-top:32px;display:flex;align-items:center;gap:10px;color:#9d9297;font-size:10px}.trust-line>span{color:var(--red2)}.trust-line i{height:3px;width:3px;background:#66545c;border-radius:50%;margin:0 5px}.hero-art{height:380px;position:relative;display:grid;place-items:center;isolation:isolate}.hero-art:before{content:"";position:absolute;width:270px;height:270px;border-radius:50%;background:radial-gradient(circle,#8e142d26,transparent 68%);filter:blur(5px)}.sigil{font-size:155px;color:#d22b45;line-height:1;text-shadow:0 0 20px #e82a4530,0 0 70px #e82a4520;z-index:1;transform:rotate(-8deg)}.orbit{position:absolute;border:1px solid #a6263b33;border-radius:50%;transform:rotate(-27deg)}.orbit-a{width:340px;height:230px}.orbit-b{width:250px;height:360px;transform:rotate(45deg);border-color:#ffffff12}.hero-art:after{content:"";position:absolute;width:340px;height:1px;background:linear-gradient(90deg,transparent,#d02c46,transparent);transform:rotate(-38deg);opacity:.7}.art-label{position:absolute;font:9px var(--mono);letter-spacing:1.6px;color:#78666d}.label-top{top:15px;left:0;right:0;display:flex;justify-content:space-between}.label-bottom{bottom:17px;left:20px;display:flex;align-items:center;gap:10px}.red-line{height:1px;width:30px;background:var(--red)}.red-mist{position:absolute;bottom:0;width:80%;height:1px;background:linear-gradient(90deg,transparent,#a11b32,transparent)}.protocols{border-top:1px solid #ffffff10;border-bottom:1px solid #ffffff10;max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);padding:27px 0;gap:32px}.protocols>div{position:relative;padding-left:42px}.protocol-num{position:absolute;left:0;top:2px;color:#e63750;font:10px var(--mono)}.protocols h3{margin:0 0 5px;font-size:13px}.protocols p{margin:0;color:var(--muted);font-size:11px;line-height:1.7}.submit-section,.login-section{max-width:920px;margin:100px auto 110px;display:grid;grid-template-columns:.7fr 1.3fr;gap:65px;align-items:start}.section-intro{padding-top:15px}.section-intro h2,.dashboard h2{font-size:clamp(29px,3vw,39px);line-height:1.2;letter-spacing:-1.5px;margin:16px 0}.section-intro p{font-size:12px;color:var(--muted);line-height:1.9}.panel{background:linear-gradient(145deg,#151114,#100d10);border:1px solid #38262d;box-shadow:0 20px 65px #0003}.form-panel{padding:25px}.panel-heading{display:flex;align-items:center;gap:13px;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:22px}.panel-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid #58232f;color:#ed3a52;background:#250f15;font-size:18px}.panel-heading b,.panel-heading small{display:block}.panel-heading b{font-size:12px}.panel-heading small{font:9px var(--mono);color:var(--dim);letter-spacing:1px;margin-top:3px}.panel-index{margin-left:auto;font:9px var(--mono);color:#725c64}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 15px}.field{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:700;color:#d5cbd0}.field>span{display:inline;color:#f13b51}.field>small{font:9px var(--mono);color:#76656d;letter-spacing:.7px}.field input,.field textarea,.field select,.filter-label select{width:100%;border:1px solid #3b2c32;background:#0c0a0c;color:#f3eff0;padding:12px 13px;outline:none;border-radius:0;font-size:11px;resize:vertical;transition:border .2s}.field input:focus,.field textarea:focus,.filter-label select:focus{border-color:#b52b42}.field input::placeholder,.field textarea::placeholder{color:#5f5359}.field-full{grid-column:1/-1}.field-hint{font:9px var(--mono);color:#74666c}.form-bottom{border-top:1px solid var(--line);margin-top:23px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:14px}.form-bottom p{font-size:10px;color:#a89ba1;margin:0}.form-bottom p span{color:#e33750;margin-right:6px}.message{margin-top:15px;padding:12px;border:1px solid #6e2b38;color:#ff9aaa;background:#250e14;font-size:11px;white-space:pre-wrap}.message.success{border-color:#285d4a;color:#9ee0c0;background:#0d211a}.login-section{margin-top:10px}.login-panel{padding:25px}.login-panel .field{margin:18px 0}.button-wide{width:100%;margin-top:7px}.dashboard{max-width:1180px;margin:70px auto 100px}.dashboard-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.dashboard-head h2{margin:12px 0 2px}.dashboard-head p,.dash-toolbar p{margin:0;color:var(--muted);font-size:11px}.red-period{color:var(--red2)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:36px}.stat{padding:18px;background:#121013;border:1px solid #33262c}.stat span{font:9px var(--mono);letter-spacing:1px;color:#9b858e}.stat b{display:block;font-size:28px;margin-top:5px}.dash-toolbar{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:18px}.dash-toolbar h3{font-size:16px;margin:0 0 3px}.filter-label{display:flex;align-items:center;gap:10px;font:9px var(--mono);letter-spacing:1px;color:#a18d95}.filter-label select{width:auto;min-width:145px;padding:8px}.contracts-list{display:grid;gap:12px}.contract-card{border:1px solid #35272d;background:#120f12;padding:20px 22px}.contract-top{display:flex;justify-content:space-between;align-items:start;gap:15px}.contract-code{font:10px var(--mono);color:#d84459;letter-spacing:1px}.contract-card h3{margin:6px 0;font-size:16px}.contract-card .contract-date{font:9px var(--mono);color:#776870}.status-pill{border:1px solid #61404a;color:#e7b4bd;background:#241319;padding:5px 9px;font:9px var(--mono);white-space:nowrap}.contract-details{font-size:12px;line-height:1.8;color:#b9adb3;white-space:pre-wrap;margin:17px 0}.contract-meta{display:flex;flex-wrap:wrap;gap:9px 20px;font-size:10px;color:#a998a0}.contract-meta b{color:#e5dce0;font-weight:600}.requester-secret{margin-top:15px;padding:10px 12px;background:#211015;border-left:2px solid var(--red);font-size:10px;color:#d8b4bc}.contract-actions{border-top:1px solid #2e2227;margin-top:17px;padding-top:15px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.contract-actions .field{font-size:10px}.contract-actions .field input,.contract-actions .field textarea,.contract-actions .field select{padding:9px}.contract-actions .full{grid-column:1/-1}.contract-actions .button{justify-self:start}.empty-state{border:1px dashed #443139;padding:40px;text-align:center;color:#9b8a91;font-size:12px}.member-admin,.audit-panel{padding:22px;margin-top:24px}.member-create{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.members-list{margin-top:18px}.member-row,.audit-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-top:1px solid #302329;font-size:11px}.member-row small,.audit-row small{display:block;color:#85747c;font:9px var(--mono);margin-top:3px}.member-row .button{padding:7px 10px;font-size:10px}.audit-row{align-items:start}.audit-row span{color:#d1c2c8}.audit-row time{font:9px var(--mono);color:#7c6c73;white-space:nowrap}footer{border-top:1px solid #ffffff12;padding:27px max(calc((100vw - 1180px)/2),5vw);display:flex;align-items:center;justify-content:space-between;gap:20px;color:#776870}footer p,footer .footer-code{font:9px var(--mono);letter-spacing:1.2px}.footer-brand .brand-mark{width:32px;height:32px;font-size:20px}.footer-brand b{font-size:10px}.footer-brand small{font-size:8px}.toast{position:fixed;bottom:22px;right:22px;background:#1a1115;border:1px solid #6d2938;padding:14px 18px;max-width:340px;z-index:20;box-shadow:0 10px 35px #0008;font-size:12px}.toast[hidden],[hidden]{display:none!important}
@media(max-width:1250px){.hero,.protocols,.dashboard{margin-left:5vw;margin-right:5vw}.submit-section,.login-section{margin-left:5vw;margin-right:5vw}}
@media(max-width:760px){.topbar{height:70px;padding:0 5vw}.topbar nav{gap:10px}.topbar nav>a{display:none}.button{padding:11px 12px;gap:10px}.hero{padding:60px 0 45px;grid-template-columns:1fr;gap:20px;min-height:auto}.hero h1{font-size:56px}.hero-art{height:240px;grid-row:1}.sigil{font-size:110px}.orbit-a{width:260px;height:170px}.orbit-b{width:190px;height:280px}.trust-line{flex-wrap:wrap}.protocols{grid-template-columns:1fr;gap:22px;padding:25px 0}.submit-section,.login-section{grid-template-columns:1fr;gap:25px;margin-top:65px;margin-bottom:70px}.section-intro{padding:0}.form-panel,.login-panel{padding:18px}.form-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.form-bottom{align-items:stretch;flex-direction:column}.form-bottom .button{width:100%}.dashboard{margin-top:45px}.dashboard-head{align-items:start}.stats{grid-template-columns:repeat(2,1fr)}.contract-card{padding:16px}.contract-actions{grid-template-columns:1fr}.contract-actions .full{grid-column:auto}.member-create{grid-template-columns:1fr}.member-create .button{width:100%}footer{flex-wrap:wrap}footer p{order:3;width:100%}.footer-code{display:none}}

.permission-editor{margin-top:12px;padding:12px;border:1px solid #302329;background:#0d0b0d}.permission-editor>b{display:block;font-size:10px;margin-bottom:8px}.permission-editor>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.permission-option{display:flex;align-items:center;gap:7px;color:#b9adb3;font-size:10px}.permission-option input{accent-color:#c91f3a}.permission-editor .button{margin-top:10px}.member-controls{margin-top:8px}.team-members{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.team-members select{border:1px solid #3b2c32;background:#0c0a0c;color:#f3eff0;padding:8px;font:10px var(--sans)}.team-admin{margin-top:24px;padding-top:18px;border-top:1px solid #302329}.team-admin .member-create{grid-template-columns:1fr auto}@media(max-width:760px){.permission-editor>div{grid-template-columns:1fr}.team-admin .member-create{grid-template-columns:1fr}.team-members{flex-direction:column}.team-members select{width:100%}}

.archive-filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.archive-filters .filter-label select{min-width:130px}@media(max-width:760px){.archive-filters{align-items:stretch;flex-direction:column}.archive-filters .filter-label{justify-content:space-between}}


/* Aktenübersicht: kompakte Karten, ausgewählte Akte zum Bearbeiten aufklappen */
.contracts-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,285px),1fr));align-items:start;gap:14px}
.contract-card{min-width:0;padding:15px 16px;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s}
.contract-card:hover{border-color:#68404a;background:#171115}
.contract-card .contract-top{gap:8px}
.contract-card h3{font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.contract-card .contract-date{font-size:8px;line-height:1.6}
.contract-card .status-pill{font-size:8px;padding:4px 6px;white-space:normal;text-align:center}
.contract-card .contract-details,.contract-card .contract-meta,.contract-card .requester-secret,.contract-card .contract-actions{display:none}
.contract-card.is-expanded{grid-column:1/-1;cursor:default;border-color:#8e2b40;background:linear-gradient(145deg,#171115,#100d10);box-shadow:0 12px 35px #0003;padding:22px}
.contract-card.is-expanded .contract-top{gap:15px}
.contract-card.is-expanded h3{font-size:19px}
.contract-card.is-expanded .contract-details,.contract-card.is-expanded .contract-meta,.contract-card.is-expanded .requester-secret,.contract-card.is-expanded .contract-actions{display:revert}
.contract-card.is-expanded .contract-actions{display:grid}
.contract-card.is-expanded .contract-details{font-size:12px}

@media(max-width:760px){
  .contracts-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:10px}
  .contract-card.is-expanded{padding:16px}
}


/* Explicit editing mode for archive records */
.contract-card>.edit-contract{margin-top:14px;padding:8px 12px;font-size:10px}
.contract-edit-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;padding:9px 0 0;border-top:1px solid #3a272e}
.contract-edit-toolbar>span{font:9px var(--mono);letter-spacing:1px;color:#e05a6d}
.contract-card:not(.is-editing) .contract-actions{display:none}

/* Explicit archive open action and reliable edit visibility */
.contract-card>.open-contract{margin-top:12px;padding:8px 12px;font-size:10px}
.contract-card.is-expanded>.open-contract{display:none}
.contract-card.is-editing .contract-actions{display:grid}
.contract-card.is-editing .contract-details,.contract-card.is-editing .contract-meta,.contract-card.is-editing .requester-secret{display:revert}

/* Explicit visibility rules for archive open/edit state */
.contract-card.is-expanded .contract-details,.contract-card.is-expanded .contract-meta,.contract-card.is-expanded .requester-secret{display:block!important}
.contract-card.is-expanded.is-editing .contract-actions{display:grid!important}
.contract-card.is-editing .contract-edit-toolbar{display:flex!important;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}

/* Archive metadata spacing and explicit open/close controls */
.contract-card .contract-meta{display:none;gap:12px 28px;align-items:center;line-height:1.8;margin:16px 0 18px}
.contract-card.is-expanded .contract-meta{display:flex!important}
.contract-card .contract-meta>span{display:inline-flex;align-items:baseline;gap:7px;white-space:normal}
.contract-card{cursor:default}
.contract-card:hover{cursor:default}
.contract-card>.close-contract,.contract-card>.open-contract{margin-top:14px;padding:9px 13px;font-size:10px}
.contract-card.is-expanded>.close-contract{display:inline-flex}

/* Status and archive folder stacked on compact case cards */
.contract-card .contract-badges{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex-shrink:0}
.contract-card .folder-pill{border:1px solid #493c46;background:#1b171d;color:#bcaab5;padding:4px 7px;font:9px var(--mono);text-align:center;max-width:170px;overflow-wrap:anywhere}
