@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-sans-latin-400-normal-gapTbOY8.woff2) format("woff2"),url(/assets/geist-sans-latin-400-normal-BOaIZNA2.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-sans-latin-500-normal-uokXdC-Q.woff2) format("woff2"),url(/assets/geist-sans-latin-500-normal-CN2lyvyL.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-sans-latin-600-normal-DFOURf8L.woff2) format("woff2"),url(/assets/geist-sans-latin-600-normal-CA1yjETN.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geist-sans-latin-700-normal-BmN9tIp5.woff2) format("woff2"),url(/assets/geist-sans-latin-700-normal-CjScfYeH.woff) format("woff")}:root{--klang-navy: #000052;--klang-blue: #212bfa;--klang-sky: #99b6ff;--klang-orange: #ff8e00;--klang-amber: #ffb04c;--klang-sand: #f1eee6;--bg: var(--klang-sand);--surface: #ffffff;--ink: #101024;--ink-soft: #4c4c66;--line: rgba(0, 0, 82, .1);--radius: 14px;--radius-sm: 9px;--shadow: 0 1px 2px rgba(0, 0, 82, .05), 0 8px 24px -12px rgba(0, 0, 82, .12);font-family:Geist Sans,Geist,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-size:15.5px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--klang-blue);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit}.shell{display:flex;min-height:100%}.sidebar{width:248px;flex-shrink:0;background:var(--klang-navy);color:#fff;display:flex;flex-direction:column;padding:28px 20px;position:sticky;top:0;height:100vh}.sidebar .logo{width:108px;margin-bottom:6px}.sidebar .room-name{font-size:13px;color:var(--klang-sky);margin:2px 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar .copy-link{background:none;border:none;color:#ffffff8c;font-size:12px;padding:0;margin:0 0 24px;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.sidebar .copy-link:hover{color:#fff}.nav{display:flex;flex-direction:column;gap:4px}.nav a{color:#ffffffc7;padding:9px 12px;border-radius:var(--radius-sm);font-weight:500;font-size:14.5px;transition:background .15s,color .15s}.nav a:hover{background:#ffffff14;color:#fff;text-decoration:none}.nav a.active{background:var(--klang-blue);color:#fff}.sidebar .spacer{flex:1}.sidebar .whoami{font-size:13px;color:#ffffffa6;line-height:1.4}.sidebar .whoami strong{color:#fff;display:block}.sidebar .logout{margin-top:12px;background:none;border:1px solid rgba(255,255,255,.25);color:#ffffffd9;padding:7px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px}.sidebar .logout:hover{border-color:#fff;color:#fff}.main{flex:1;min-width:0;padding:40px 48px 72px;max-width:1060px}h1{font-size:26px;letter-spacing:-.02em;margin:0 0 4px;color:var(--klang-navy)}.subtitle{color:var(--ink-soft);margin:0 0 32px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 24px}.card+.card{margin-top:16px}.badge{display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:99px;background:#212bfa17;color:var(--klang-blue)}.badge.contract,.badge.pricing{background:#ff8e0021;color:#b35f00}.badge.security{background:#00005214;color:var(--klang-navy)}.badge.signed{background:#1496501f;color:#0c7a44}.badge.archived{background:#4c4c661f;color:var(--ink-soft)}.status-banner{display:flex;align-items:center;gap:12px;background:var(--klang-navy);color:#fff;border-radius:var(--radius);padding:18px 24px;margin-bottom:24px}.status-banner .dot{width:10px;height:10px;border-radius:50%;background:var(--klang-amber);flex-shrink:0}.status-banner.signed .dot{background:#37d67a}.status-banner p{margin:0;font-size:14.5px}.status-banner strong{color:var(--klang-sky);font-weight:600;margin-right:6px}.item-list{display:flex;flex-direction:column;gap:12px}.item-row{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;transition:border-color .15s,transform .1s}a.item-row{color:inherit}a.item-row:hover{text-decoration:none;border-color:var(--klang-blue)}.item-row .titleblock{min-width:0}.item-row .titleblock h3{margin:0 0 2px;font-size:15.5px;color:var(--klang-navy)}.item-row .titleblock p{margin:0;font-size:13.5px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-row .meta{flex-shrink:0;text-align:right;font-size:12.5px;color:var(--ink-soft)}.timeline{list-style:none;margin:0;padding:0}.timeline li{position:relative;padding:0 0 18px 26px}.timeline li:before{content:"";position:absolute;left:5px;top:7px;width:8px;height:8px;border-radius:50%;background:var(--klang-blue)}.timeline li:after{content:"";position:absolute;left:8.5px;top:19px;bottom:-2px;width:1px;background:var(--line)}.timeline li:last-child:after{display:none}.timeline .when{font-size:12px;color:var(--ink-soft);display:block}.prose{max-width:72ch}.prose h1,.prose h2,.prose h3{color:var(--klang-navy);letter-spacing:-.01em}.prose h1{font-size:22px}.prose h2{font-size:18px;margin-top:28px}.prose pre{background:var(--klang-navy);color:#e8ecff;padding:14px 16px;border-radius:var(--radius-sm);overflow-x:auto;font-size:13px}.prose code{font-size:.92em}.prose :not(pre)>code{background:#212bfa14;padding:1px 5px;border-radius:4px}.prose table{border-collapse:collapse;width:100%}.prose th,.prose td{border:1px solid var(--line);padding:8px 12px;text-align:left;font-size:14px}.prose th{background:#0000520a}.prose blockquote{border-left:3px solid var(--klang-sky);margin-left:0;padding-left:16px;color:var(--ink-soft)}.btn{display:inline-block;background:var(--klang-blue);color:#fff;border:none;border-radius:var(--radius-sm);padding:10px 18px;font-weight:600;font-size:14px;cursor:pointer}.btn:hover{background:#1a22cc;text-decoration:none}.btn.secondary{background:transparent;color:var(--klang-blue);border:1.5px solid var(--klang-blue)}.empty{text-align:center;color:var(--ink-soft);padding:56px 24px;border:1.5px dashed var(--line);border-radius:var(--radius)}.back{display:inline-block;margin-bottom:18px;font-size:14px}.gate{min-height:100%;display:flex;align-items:center;justify-content:center;background:var(--klang-navy);padding:24px}.gate .panel{background:var(--surface);border-radius:18px;padding:44px 42px;max-width:430px;width:100%;text-align:center;box-shadow:0 24px 64px -24px #00000080}.gate img{width:120px;margin-bottom:22px}.gate h1{font-size:21px}.gate p{color:var(--ink-soft);font-size:14.5px}.gate-form{display:flex;flex-direction:column;gap:10px;margin-top:18px}.gate-form input{font:inherit;font-size:15px;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--radius-sm);text-align:center}.gate-form input:focus{outline:2px solid var(--klang-sky);border-color:var(--klang-blue)}.gate-fineprint{font-size:12.5px!important;color:#8a8aa0!important;margin-top:14px}.room-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}.room-choice{display:flex;flex-direction:column;gap:2px;text-align:left;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:14px 18px;cursor:pointer;transition:border-color .15s}.room-choice:hover{border-color:var(--klang-blue)}.room-choice strong{color:var(--klang-navy);font-size:15px}.room-choice span{color:var(--ink-soft);font-size:13px}.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.person{display:flex;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.person .avatar{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:15px;flex-shrink:0}.person .avatar.customer{background:var(--klang-blue)}.person .avatar.seller{background:var(--klang-orange)}.person h3{margin:0;font-size:14.5px;color:var(--klang-navy)}.person p{margin:0;font-size:12.5px;color:var(--ink-soft)}.loading{padding:80px;text-align:center;color:var(--ink-soft)}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:8px}.page-head .subtitle{margin-bottom:20px}.upload-panel{min-width:320px;max-width:420px}.upload-fields{display:flex;flex-direction:column;gap:10px}.upload-fields input[type=text],.upload-fields select,.upload-fields input[type=file]{font:inherit;font-size:14px;padding:9px 11px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;color:var(--ink)}.upload-fields input[type=text]:focus,.upload-fields select:focus{outline:2px solid var(--klang-sky);border-color:var(--klang-blue)}.upload-actions{display:flex;gap:10px;margin-top:14px}.upload-error{color:#b3261e;font-size:13.5px;margin:10px 0 0}.btn:disabled{opacity:.5;cursor:default}.pdf-preview{width:100%;height:74vh;border:1px solid var(--line);border-radius:var(--radius);margin-top:16px;background:#fff}@media(max-width:820px){.page-head{flex-direction:column}}@media(max-width:820px){.shell{flex-direction:column}.sidebar{width:100%;height:auto;position:static;flex-direction:row;align-items:center;gap:16px;padding:14px 18px;flex-wrap:wrap}.sidebar .logo{width:84px;margin:0}.sidebar .room-name{display:none}.nav{flex-direction:row;flex-wrap:wrap}.sidebar .whoami{display:none}.main{padding:24px 18px 56px}}
