:root{--font-display:"Manrope";--font-mono:"IBM Plex Mono";--bg-main:#070708;--bg-panel:#101012d1;--bg-soft:#1c1c1fb3;--border-soft:#ffffff1a;--text-main:#fff7f2;--text-muted:#fff0e8bd;--accent:#ff6b2c;--accent-soft:#ff6b2c47;--ok:#69cf95;--warn:#ffb65d;--bad:#ff6868}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/manrope-400.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/manrope-600.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/manrope-700.ttf)format("truetype")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400.ttf)format("truetype")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500.ttf)format("truetype")}*{box-sizing:border-box}html,body{height:100%;color:var(--text-main);font-family:var(--font-display), "Segoe UI", sans-serif;background:radial-gradient(circle at 18% 12%,#ff5c272e,#0000 45%),radial-gradient(circle at 88% 85%,#ff5c271a,#0000 34%),linear-gradient(145deg,#050506 20%,#0b0b0d 55%,#070708 100%);margin:0;overflow:hidden}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.app-shell{grid-template-columns:320px 1fr;gap:22px;height:100vh;padding:20px;display:grid;overflow:hidden}.sidebar,.workspace{border:1px solid var(--border-soft);background:var(--bg-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:24px}.sidebar{flex-direction:column;gap:16px;padding:20px;display:flex}.sidebar-main{gap:16px;display:grid}.sidebar-logout{margin-top:auto}.sidebar-logout .ghost-btn{justify-content:center;align-items:center;width:100%;min-height:40px;margin-bottom:0;display:inline-flex}.brand{justify-content:space-between;align-items:center;display:flex}.brand__title{margin:0;font-size:22px;line-height:1.2}.brand__tag{color:var(--text-muted);margin-top:6px;font-size:12px;display:inline-block}.locale-switch{border:1px solid var(--border-soft);background:#00000059;border-radius:999px;padding:3px;display:inline-flex}.locale-switch button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 12px}.locale-switch button.active{color:#151515;background:linear-gradient(130deg,#ff8b4a,#ff6b2c);box-shadow:0 0 20px #ff6b2c73}.sidebar-block{border:1px solid var(--border-soft);background:var(--bg-soft);border-radius:16px;padding:14px;animation:.4s reveal}.sidebar-block h2{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 10px;font-size:13px}.sidebar-nav{gap:8px;display:grid}.sidebar-nav button{color:var(--text-main);text-align:left;cursor:pointer;background:#ffffff08;border:1px solid #0000;border-radius:12px;padding:10px}.sidebar-nav button.active{border-color:var(--accent-soft);background:#ff6b2c26}.setting-item{border:1px solid var(--border-soft);background:#ffffff05;border-radius:12px;margin-bottom:8px;padding:10px}.setting-item:last-child{margin-bottom:0}.setting-item__title{margin:0;font-size:14px}.setting-item__text{color:var(--text-muted);margin:6px 0 0;font-size:13px}.workspace{flex-direction:column;gap:16px;padding:22px;display:flex;overflow:hidden}.workspace-stack{gap:16px;display:grid}.workspace>.workspace-stack{flex:auto;min-height:0}.workspace-stack--scroll{scrollbar-color:#ffffff2e transparent;flex:auto;min-height:0;padding-right:6px;overflow-y:auto}.workspace-header{border:1px solid var(--border-soft);background:linear-gradient(145deg,#ff6b2c29,#111113b3);border-radius:18px;padding:16px}.workspace-header h1{margin:0;font-size:clamp(28px,4vw,46px);line-height:1.02}.workspace-header p{color:var(--text-muted);max-width:760px;margin:10px 0 0}.workspace-header__controls{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.scope-text{color:var(--text-muted);margin-top:12px;font-size:13px}.workspace-grid{grid-template-columns:repeat(12,1fr);gap:14px;display:grid}.clients-grid{align-items:start}.card{border:1px solid var(--border-soft);background:var(--bg-soft);border-radius:16px;padding:14px;animation:.5s reveal}.card h3{margin:0 0 10px;font-size:15px}.card.contracts{grid-column:span 8}.card.flow,.card.ai{grid-column:span 4}.contract-row{border-bottom:1px solid #ffffff0f;justify-content:space-between;gap:10px;padding:10px 0;display:flex}.contract-row:last-child{border-bottom:0}.contract-meta{min-width:0}.contract-meta strong{font-size:14px;display:block}.contract-meta span{color:var(--text-muted);font-size:12px}.status{white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11px}.status.ok{color:#0f3620;background:color-mix(in srgb, var(--ok) 75%, white 25%)}.status.warn{color:#4a3204;background:color-mix(in srgb, var(--warn) 80%, white 20%)}.status.bad{color:#500c0c;background:color-mix(in srgb, var(--bad) 80%, white 20%)}.flow-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.flow-list li{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;display:flex}.flow-point{background:var(--accent);width:8px;height:8px;box-shadow:0 0 12px var(--accent);border-radius:999px}.ai-box{border:1px solid var(--border-soft);min-height:180px;font-family:var(--font-mono), Consolas, monospace;color:#ffd9c5;background:#0000004d;border-radius:12px;padding:12px;line-height:1.5}.actions{flex-wrap:wrap;gap:10px;display:flex}.actions button{border:1px solid var(--border-soft);color:var(--text-main);cursor:pointer;background:#ffffff05;border-radius:12px;padding:10px 14px}.actions button.primary{color:#121212;background:linear-gradient(130deg,#ff8b4a,#ff6b2c);border:none;font-weight:700;box-shadow:0 0 20px #ff6b2c61}.client-form{gap:12px;display:grid}.field{gap:8px;display:grid}.field span{color:var(--text-muted);font-size:13px}.field input,.field select,.field textarea{border:1px solid var(--border-soft);width:100%;color:var(--text-main);background:#ffffff05;border-radius:12px;outline:none;padding:10px 12px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent-soft);box-shadow:0 0 0 2px #ff6b2c1f}.field textarea{resize:vertical;min-height:112px}.select-wrap{position:relative}.custom-select{appearance:none;cursor:pointer;padding-right:42px;transition:border-color .14s,box-shadow .14s,background-color .14s}.custom-select:hover{border-color:var(--accent-soft);background:#ff6b2c14}.select-wrap__arrow{color:var(--text-muted);pointer-events:none;font-size:15px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.template-dropdown{position:relative}.template-dropdown__trigger{border:1px solid var(--border-soft);width:100%;color:var(--text-main);cursor:pointer;text-align:left;background:#ffffff05;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.template-dropdown__trigger.open{border-color:var(--accent-soft);box-shadow:0 0 0 2px #ff6b2c1f}.template-dropdown__placeholder,.template-dropdown__arrow{color:var(--text-muted)}.template-dropdown__menu{z-index:4;border:1px solid var(--border-soft);background:#0e0e10fa;border-radius:12px;gap:6px;max-height:230px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.template-dropdown__empty{color:var(--text-muted);padding:8px;font-size:13px}.template-option{color:var(--text-main);text-align:left;cursor:pointer;background:#ffffff05;border:1px solid #0000;border-radius:10px;gap:4px;padding:9px 10px;display:grid}.template-option:hover{border-color:var(--accent-soft);background:#ff6b2c1f}.template-option.active{border-color:var(--accent-soft);background:#ff6b2c2e}.template-option__name{font-size:13px;font-weight:700}.template-option__meta{color:var(--text-muted);font-size:12px}.header-actions{margin-top:14px;display:flex}.analysis-workspace{flex-direction:column;gap:10px;height:100%;min-height:0;display:flex;overflow:hidden}.analysis-workspace .analysis-grid{flex:auto;min-height:0}.analysis-toolbar{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px 12px;padding:10px 12px;display:flex}.analysis-toolbar__title h2{margin:0;font-size:18px;line-height:1.2}.analysis-toolbar__hint{margin-top:2px;font-size:12px;display:block}.analysis-toolbar__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.analysis-section-title{margin:0;font-size:14px}.analysis-main{flex-direction:column;gap:6px;min-height:0;display:flex;overflow:hidden}.card--compact{padding:10px 12px}.analysis-panel__title{word-break:break-word;margin:0;font-size:15px;line-height:1.25}.analysis-head--compact .analysis-head__meta{margin-top:4px;font-size:12px;line-height:1.35}.analysis-panel__error{flex-shrink:0;margin:0;font-size:12px}.analysis-grid{grid-template-columns:min(240px,28vw) minmax(0,1fr);align-items:stretch;gap:10px;min-height:0;display:grid;overflow:hidden}.analysis-left{grid-template-rows:minmax(0,1fr);gap:14px;min-height:0;display:grid}.analysis-list-card{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.analysis-list{scrollbar-color:#ffffff2e transparent;align-content:start;gap:8px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.analysis-list-card__head{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;display:flex}.analysis-item{color:var(--text-main);cursor:pointer;text-align:left;background:#ffffff05;border:1px solid #0000;border-radius:10px;gap:4px;padding:8px;display:grid}.analysis-item:hover{border-color:var(--accent-soft);background:#ff6b2c1f}.analysis-item.active{border-color:var(--accent-soft);background:#ff6b2c2e}.analysis-item__title{word-break:break-word;font-size:12px;font-weight:700;line-height:1.3}.analysis-item__meta{color:var(--text-muted);word-break:break-word;font-size:11px}.analysis-head{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.analysis-head>div:first-child{flex:220px;min-width:0}.analysis-head__meta{margin-top:6px}.analysis-head__actions{flex-wrap:wrap;gap:10px;display:flex}.analysis-panel{flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex;overflow:hidden}.analysis-panel>.form-error{flex-shrink:0;margin:0}.analysis-tabs{flex-wrap:wrap;flex-shrink:0;gap:10px;display:flex}.analysis-tab{color:var(--text-main);cursor:pointer;background:#ffffff08;border:1px solid #ffffff1f;border-radius:12px;padding:10px 12px;font-size:13px}.analysis-tabs--compact{gap:6px}.analysis-tabs--compact .analysis-tab{border-radius:8px;padding:6px 10px;font-size:12px}.analysis-tab:hover{background:#ffffff0f;border-color:#fff3}.analysis-tab.active{background:#ff844c29;border-color:#ff844c73;box-shadow:inset 0 0 0 1px #ff844c14}.analysis-tab:disabled{opacity:.55;cursor:not-allowed}.analysis-panel__body{scrollbar-color:#ffffff2e transparent;flex:auto;min-height:0;padding-right:4px;overflow:auto}.analysis-summary{border:1px solid var(--border-soft);background:#ffffff05;border-radius:12px;margin:10px 0 0;padding:10px 12px;font-size:13px;line-height:1.4}.analysis-comments{gap:10px;margin-top:12px;display:grid}.analysis-comment{border:1px solid var(--border-soft);background:#ffffff05;border-radius:12px;gap:8px;padding:12px;display:grid}.analysis-comment__head{justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;display:flex}.severity-critical{background:#ff68680f;border-color:#ff686866}.severity-moderate{background:#ffb65d0f;border-color:#ffb65d6b}.severity-minor{background:#69cf950d;border-color:#69cf9559}.impassable-checklist-card{flex-shrink:0;margin-bottom:0}.impassable-checklist-card--open{max-height:min(160px,22vh);padding:10px 12px;overflow:auto}.impassable-checklist-card__desc{margin:4px 0 0;font-size:12px}.impassable-checklist-preview{gap:4px;margin:8px 0 0;padding-left:16px;font-size:12px;display:grid}.impassable-checklist-card__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.analysis-status-banner{border:1px solid var(--border-soft);border-radius:12px;flex-shrink:0;margin-top:0;padding:10px 12px;font-size:13px;line-height:1.45}.analysis-status-banner--compact{padding:0;overflow:hidden}.analysis-status-banner__toggle{width:100%;color:inherit;cursor:pointer;text-align:left;font:inherit;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.analysis-status-banner__summary{flex:1;min-width:0;font-size:12px;line-height:1.35}.analysis-status-banner__chevron{opacity:.7;flex-shrink:0;font-size:11px}.analysis-status-banner__detail{padding:0 10px 8px;font-size:12px}.analysis-status-banner__detail .muted-text{margin:0 0 6px}.analysis-status-banner--processing{background:#ffb65d14;border-color:#ffb65d73}.analysis-status-banner--ready{background:#69cf9514;border-color:#69cf9566}.analysis-status-banner--error{background:#ff686814;border-color:#ff686873}.analysis-status-banner__actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.impassable-table-wrap{border:1px solid var(--border-soft);border-radius:12px;max-width:100%;margin-top:12px;overflow-x:auto}.impassable-table{border:0;border-radius:0;min-width:720px;overflow:visible}.impassable-row{border-top:1px solid #ffffff0f;grid-template-columns:100px minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);align-items:start;gap:8px;padding:8px;font-size:13px;display:grid}.impassable-row--head{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:#ffffff08;border-top:0;font-size:12px;font-weight:700}.impassable-status{border:1px solid var(--border-soft);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:600;display:inline-block}.impassable-status--found{color:#ffb4b4;background:#ff68681a;border-color:#ff686873}.impassable-status--clear{color:#9ee6b8;background:#69cf9514;border-color:#69cf9566}.impassable-status--unclear{color:#ffd39a;background:#ffb65d14;border-color:#ffb65d6b}.analysis-protocol-table{border:1px solid var(--border-soft);background:#ffffff03;border-radius:12px;margin-top:10px;overflow:hidden}.analysis-protocol-row{border-top:1px solid #ffffff0f;grid-template-columns:110px minmax(0,1fr) minmax(0,1fr);align-items:start;gap:10px;padding:10px;display:grid}.analysis-protocol-row--head{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:#ffffff08;border-top:0;font-size:12px;font-weight:700}.analysis-protocol-row input,.analysis-protocol-row textarea{border:1px solid var(--border-soft);width:100%;min-width:0;color:var(--text-main);background:#00000047;border-radius:10px;padding:10px}.analysis-protocol-row textarea{resize:vertical}.analysis-protocol-generate{border-bottom:1px solid var(--border-soft);flex-shrink:0;margin-bottom:10px;padding-bottom:4px}.analysis-protocol-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.analysis-text{border:1px solid var(--border-soft);color:var(--text-muted);font-size:12px;line-height:1.45;font-family:var(--font-mono), ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;white-space:pre-wrap;background:#00000052;border-radius:12px;max-height:340px;margin:10px 0 0;padding:12px;overflow:auto}.dashboard-grid{grid-template-columns:repeat(12,1fr);gap:14px;display:grid}.dashboard-stat{grid-column:span 4;gap:8px;display:grid}.dashboard-stat__label{color:var(--text-muted);font-size:13px}.dashboard-stat__value{font-size:30px;font-weight:800;line-height:1}.dashboard-stat__hint{color:var(--text-muted);font-size:12px}.dashboard-chart{grid-column:span 6;gap:12px;display:grid}.dashboard-bars{gap:10px;display:grid}.dashboard-bar__head{justify-content:space-between;gap:10px;font-size:13px;display:flex}.dashboard-bar__track{border:1px solid var(--border-soft);background:#ffffff0f;border-radius:999px;height:10px;overflow:hidden}.dashboard-bar__fill{background:#ffffff40;border-radius:999px;height:100%}.dashboard-bar__fill--ok{background:linear-gradient(90deg,#69cf95f2,#69cf9573)}.dashboard-bar__fill--warn{background:linear-gradient(90deg,#ffb65df2,#ffb65d73)}.dashboard-bar__fill--accent{background:linear-gradient(90deg,#ff6b2cf2,#ff6b2c73)}.dashboard-recent{grid-column:span 12;gap:12px;display:grid}.dashboard-recent__list{gap:10px;display:grid}.dashboard-recent__item{border:1px solid var(--border-soft);background:#ffffff05;border-radius:12px;padding:12px;transition:border-color .12s,background-color .12s}.dashboard-recent__item:hover{border-color:var(--accent-soft);background:#ff6b2c1f}.dashboard-recent__title{font-size:14px;font-weight:700}.dashboard-recent__meta{color:var(--text-muted);margin-top:6px;font-size:12px}.primary{color:#121212;cursor:pointer;background:linear-gradient(130deg,#ff8b4a,#ff6b2c);border:none;border-radius:12px;padding:10px 14px;font-weight:700;box-shadow:0 0 20px #ff6b2c61}.form-error{color:#ff9898;margin:0;font-size:13px}.muted-text{color:var(--text-muted);margin:0}.empty-organizations{justify-items:start;gap:14px;display:grid}.organization-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.organization-card{border:1px solid var(--border-soft);color:var(--text-main);text-align:left;cursor:pointer;background:#ffffff08;border-radius:14px;gap:8px;padding:14px;transition:border-color .12s,background-color .12s;display:grid}.organization-card:hover{border-color:var(--accent-soft);background:#ff6b2c1f}.organization-card__name{font-size:15px;font-weight:700}.organization-card__meta{color:var(--text-muted);font-size:12px}.organization-card__notes{color:#ffd8c5;font-size:13px}.organization-card__notes--muted{color:var(--text-muted)}.ghost-btn{border:1px solid var(--border-soft);width:fit-content;color:var(--text-main);cursor:pointer;background:#ffffff08;border-radius:10px;margin-bottom:12px;padding:8px 10px}.ghost-btn--active{border-color:var(--accent-soft);background:#ff6b2c29}.modal-root{z-index:40;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008a;border-radius:25px;position:absolute;inset:0}.modal-card{z-index:1;border:1px solid var(--border-soft);background:#0e0e10fa;border-radius:16px;width:min(600px,100%);padding:18px;position:relative}.modal-card .template-dropdown__menu{z-index:80;box-shadow:0 14px 44px #0000008c}.modal-card .template-dropdown__trigger:disabled{opacity:.55;cursor:not-allowed}.modal-card h3{margin:0 0 12px;font-size:20px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.modal-actions .ghost-btn,.modal-actions .primary{justify-content:center;align-items:center;min-height:40px;margin-bottom:0;padding:10px 14px;display:inline-flex}.knowledge-accordion{gap:10px;display:grid}.knowledge-accordion-item{border:1px solid var(--border-soft);background:#ffffff08;border-radius:14px;overflow:hidden}.knowledge-toggle{width:100%;color:var(--text-main);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:14px;display:flex}.knowledge-toggle.active{background:#ff6b2c1f}.knowledge-toggle__title{font-size:15px;font-weight:700}.knowledge-toggle__icon{border:1px solid var(--border-soft);border-radius:999px;place-items:center;width:22px;height:22px;display:inline-grid}.knowledge-panel{border-top:1px solid var(--border-soft);gap:14px;padding:14px;display:grid}.knowledge-actions{flex-wrap:wrap;gap:10px;display:flex}.ghost-btn--inline{margin-bottom:0}.knowledge-meta-list{gap:8px;display:grid}.knowledge-meta-item{border:1px solid var(--border-soft);color:var(--text-muted);background:#ffffff05;border-radius:10px;padding:10px 12px;font-size:13px}.knowledge-empty{border:1px dashed var(--border-soft);color:var(--text-muted);border-radius:10px;padding:12px;font-size:13px}.knowledge-doc-grid{gap:10px;display:grid}.knowledge-doc-card{border:1px solid var(--border-soft);background:#ffffff05;border-radius:10px;gap:8px;padding:10px;display:grid}.knowledge-doc-card__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.knowledge-doc-card__name{word-break:break-word;font-size:14px;font-weight:700}.knowledge-doc-card__remove{border:1px solid var(--border-soft);color:var(--text-main);cursor:pointer;background:#ffffff08;border-radius:8px;padding:4px 8px;font-size:12px}.knowledge-doc-card__meta{color:var(--text-muted);flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.knowledge-doc-card__rules{border:1px solid var(--border-soft);color:var(--text-muted);white-space:pre-wrap;background:#ff6b2c0f;border-radius:10px;padding:10px 12px;font-size:12px}.draft-list{scrollbar-color:#ffffff2e transparent;gap:10px;display:grid}.contracts-client-stack{grid-template-rows:auto auto minmax(0,1fr);height:100%;min-height:0}.contracts-list-card{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.contracts-list-card .draft-list{align-content:start;min-height:0;padding-right:4px;overflow-y:auto}.draft-card{border:1px solid var(--border-soft);background:#ffffff05;border-radius:10px;gap:6px;padding:12px;display:grid}.draft-card__title{font-size:14px;font-weight:700}.draft-card__meta{color:var(--text-muted);font-size:12px}.draft-card__actions{gap:10px;margin-top:4px;display:flex}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--border-soft);background:var(--bg-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:16px;gap:12px;width:min(420px,100%);padding:24px;display:grid}.login-card h1{margin:0;font-size:24px}@keyframes reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes loadingShimmer{0%{background-position:200% 0}to{background-position:-20% 0}}@media (max-width:1200px){.card.contracts,.card.flow,.card.ai{grid-column:span 12}.organization-grid,.profile-grid,.analysis-grid{grid-template-columns:1fr}}@media (max-width:980px){.app-shell{grid-template-columns:1fr;padding:12px}.sidebar,.workspace{border-radius:18px}}.contracts-placeholder-page{place-items:center;min-height:calc(100vh - 48px);padding:32px 24px;display:grid}.contracts-placeholder-card{background:#120d0cb3;border:1px solid #ffffff14;border-radius:24px;width:min(760px,100%);padding:36px;animation:.5s reveal;box-shadow:0 24px 60px #00000073}.contracts-placeholder-card h1{margin:12px 0;font-size:clamp(24px,3vw,34px)}.contracts-placeholder-card p{margin:0 0 12px;line-height:1.6}.contract-workspace{grid-template-columns:minmax(0,1fr) 360px;gap:20px;height:calc(100vh - 48px);padding:24px;display:grid;overflow:hidden}.contract-workspace--v2{grid-template-columns:360px minmax(0,1fr);gap:22px}.contract-workspace--v2 .contract-side,.contract-workspace--v2 .contract-main{border:1px solid var(--border-soft);background:var(--bg-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:24px;min-height:0;padding:20px;overflow:hidden}.contract-side{grid-template-rows:minmax(0,1fr) auto;gap:16px;min-height:0;display:grid}.contract-side__top{grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:0;display:grid}.contract-state-list{scrollbar-color:#ffffff2e transparent;align-content:start;gap:8px;min-height:0;padding-right:4px;display:grid;overflow:auto}.contract-state{color:var(--text-main);cursor:pointer;text-align:left;background:#ffffff05;border:1px solid #0000;border-radius:12px;gap:4px;padding:10px;display:grid}.contract-state:hover{border-color:var(--accent-soft);background:#ff6b2c1f}.contract-state.active{border-color:var(--accent-soft);background:#ff6b2c2e}.contract-state__title{font-size:13px;font-weight:700}.contract-state__meta{color:var(--text-muted);word-break:break-word;font-size:12px}.contract-side__bottom{gap:10px;display:grid}.contract-input-actions{flex-wrap:wrap;gap:10px;display:flex}.contract-main{grid-template-rows:auto minmax(0,1fr);gap:16px;min-height:0;display:grid}.contract-main__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.contract-main__header h1{margin:6px 0 0;font-size:clamp(24px,3vw,34px)}.contract-main__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.contract-main__panel{grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:0;display:grid}.contract-main__tabs{flex-wrap:wrap;gap:10px;display:flex}.contract-main__body{scrollbar-color:#ffffff2e transparent;min-height:0;padding-right:4px;overflow:auto}.contract-workspace__left,.contract-workspace__right{border:1px solid var(--border-soft);background:var(--bg-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:24px;padding:20px;overflow:hidden}.contract-workspace__left{grid-template-rows:auto auto 1fr;gap:16px;display:grid}.contract-workspace__back{justify-content:flex-start;display:flex}.contract-workspace__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.contract-workspace__header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.contract-workspace__header h1{margin:6px 0 0;font-size:clamp(24px,3vw,34px)}.contract-tabs{flex-wrap:wrap;flex-shrink:0;gap:10px;max-height:40px;margin:10px 0 14px;display:flex}.contract-tab{appearance:none;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;min-height:42px;font-size:12px;line-height:1.1;font-family:var(--font-display), "Segoe UI", sans-serif;white-space:nowrap;background:#ffffff08;border:1px solid #ffffff14;border-radius:16px;padding:10px 16px;transition:border-color .18s,background .18s,color .18s,transform .18s}.contract-tab:hover{color:var(--text-main);background:#ffffff0d;border-color:#ffffff29}.contract-tab.active{color:var(--text-main);background:#ff844c29;border-color:#ff844c73;box-shadow:inset 0 0 0 1px #ff844c14}@media (max-width:900px){.contract-tabs{gap:8px}.contract-tab{padding:9px 14px;font-size:11px}}@media (max-width:640px){.contract-tabs{grid-template-columns:1fr;display:grid}.contract-tab{white-space:normal;text-align:left;justify-content:flex-start;width:100%}}.contract-view{border:1px solid var(--border-soft);scrollbar-color:#ffffff2e transparent;background:#0003;border-radius:18px;height:100%;display:grid;overflow:auto}.contract-view__hint{border-bottom:1px solid var(--border-soft);color:var(--text-muted);padding:10px 14px;font-size:12px}.contract-view__frame{height:100%;min-height:0;padding:16px;position:relative;overflow:auto}.contract-view__placeholder{border:1px dashed var(--border-soft);text-align:center;border-radius:16px;place-content:center;gap:10px;min-height:320px;padding:24px;display:grid}.contract-template-debug{text-align:left;gap:12px;margin-top:16px;display:grid}.template-debug-actions{flex-wrap:wrap;gap:8px;display:flex}.template-debug-grid{color:var(--text-muted);gap:8px;font-size:12px;display:grid}.template-debug-grid strong{color:var(--text-main);word-break:break-word;font-size:12px;display:block}.contract-ai-panel{gap:16px;height:100%;min-height:0;display:grid;overflow:auto}.contract-ai-panel__header{justify-content:space-between;align-items:center;gap:10px;display:flex}.contract-ai-tree h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0;font-size:13px}.contract-ai-branch{border:1px solid var(--border-soft);color:var(--text-main);text-align:left;cursor:pointer;background:#ffffff05;border-radius:14px;gap:6px;padding:10px 12px;display:grid}.contract-ai-branch strong{font-size:13px}.contract-ai-branch span{color:var(--text-muted);font-size:12px}.contract-ai-branch.active{border-color:var(--accent-soft);background:#ff6b2c29}.contract-ai-branch:disabled{opacity:.5;cursor:not-allowed}.contract-ai-input textarea{resize:vertical;border:1px solid var(--border-soft);min-height:120px;color:var(--text-main);background:#ffffff05;border-radius:12px;padding:10px 12px}.contract-ai-summary{border:1px solid var(--border-soft);background:#ffffff05;border-radius:14px;gap:6px;padding:12px;display:grid}.contract-ai-summary h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0;font-size:13px}.contract-ai-comments{border:1px solid var(--border-soft);background:#ffffff05;border-radius:14px;gap:10px;padding:12px;display:grid}.contract-ai-comments h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0;font-size:13px}.contract-ai-comments__list{gap:10px;display:grid}.contract-ai-comment{border:1px solid var(--border-soft);background:#ffffff05;border-radius:12px;gap:6px;padding:10px;display:grid}.contract-ai-comment__head{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);justify-content:space-between;gap:10px;font-size:12px;display:flex}.contract-ai-comment.severity-critical{border-color:#ff686880}.contract-ai-comment.severity-moderate{border-color:#ffb65d80}.contract-ai-comment.severity-minor{border-color:#69cf9580}.contract-ai-attachment{border:1px solid var(--border-soft);background:#ffffff0a;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;display:flex}.contract-protocol-panel{gap:10px;margin-top:16px;display:grid}.protocol-actions{justify-content:flex-end;display:flex}.contract-protocol-empty{border:1px dashed var(--border-soft);border-radius:12px;justify-items:start;gap:10px;padding:16px;display:grid}.protocol-table-wrap{gap:10px;width:100%;display:grid}.protocol-table-wrap h4{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:13px}.protocol-table{border:1px solid var(--border-soft);border-radius:12px;display:grid;overflow:hidden}.protocol-table__toolbar{border-bottom:1px solid var(--border-soft);background:#ffffff05;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.protocol-table__toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.protocol-table__titles{border-bottom:1px solid var(--border-soft);background:#ffffff03;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:10px 12px;display:grid}.protocol-title-field{gap:6px;display:grid}.protocol-title-input{border:1px solid var(--border-soft);width:100%;color:var(--text-main);background:#ffffff05;border-radius:10px;min-height:34px;padding:7px 10px}.protocol-title-input:focus{border-color:#ffffff2e;outline:none}@media (max-width:900px){.protocol-table__titles,.analysis-protocol-row{grid-template-columns:1fr}}.protocol-table__head,.protocol-table__row{grid-template-columns:120px 1fr 1fr 1fr;gap:12px;padding:10px 12px;display:grid}.protocol-table__head{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:#ffffff0a;font-size:12px}.protocol-table__row{border-top:1px solid var(--border-soft);color:var(--text-main);font-size:13px}.protocol-cell,.protocol-cell__view{flex-direction:column;gap:6px;display:flex}.protocol-cell__edit{gap:8px;display:grid}.protocol-cell__actions{flex-wrap:wrap;gap:8px;display:flex}.protocol-cell__input,.protocol-cell__textarea{border:1px solid var(--border-soft);width:100%;color:var(--text-main);background:#ffffff05;border-radius:10px;padding:8px 10px}.protocol-cell__textarea{resize:vertical;min-height:80px}@media (max-width:1200px){.contract-workspace,.contract-workspace--v2{grid-template-columns:1fr}}.contract-workspace__right{scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;padding-right:8px;overflow:hidden}.contract-workspace__right::-webkit-scrollbar{width:8px}.contract-workspace__right::-webkit-scrollbar-track{background:0 0}.contract-workspace__right::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}.contract-workspace__right::-webkit-scrollbar-thumb:hover{background:#ffffff47}.contract-ai-panel{gap:18px;display:grid}.contract-ai-panel__header{align-items:flex-start;gap:12px}.contract-ai-panel__header h2{margin:0;line-height:1.15}.contract-ai-panel>.muted-text{margin:0;line-height:1.45}.contract-ai-request{background:#ffffff05;border:1px solid #ffffff14;border-radius:16px;gap:14px;padding:14px;display:grid}.contract-ai-request>div:first-child{gap:6px;display:grid}.contract-ai-request>div:first-child h3{margin:0;line-height:1.2}.contract-ai-request>div:first-child p{margin:0;line-height:1.45}.contract-ai-tree{gap:10px;display:grid}.contract-ai-tree>h3{text-transform:uppercase;letter-spacing:.04em;opacity:.72;margin:0 0 2px;font-size:13px;line-height:1.2}.contract-ai-branch{text-align:left;background:#ffffff05;border:1px solid #ffffff14;border-radius:14px;gap:6px;width:100%;padding:14px 14px 12px;transition:all .18s;display:grid}.contract-ai-branch:hover{background:#ffffff0a;border-color:#ffffff29}.contract-ai-branch.active{background:#ff844c29;border-color:#ff844c73;box-shadow:inset 0 0 0 1px #ff844c14}.contract-ai-branch strong{font-size:14px;line-height:1.3;display:block}.contract-ai-branch span{opacity:.82;font-size:13px;line-height:1.4;display:block}.contract-ai-input{gap:8px;display:grid}.contract-ai-input label{font-size:13px;font-weight:600;line-height:1.2}.contract-ai-input textarea{width:100%;min-height:112px;color:inherit;font:inherit;resize:vertical;box-sizing:border-box;background:#ffffff08;border:1px solid #ffffff1a;border-radius:14px;padding:12px 14px;line-height:1.45}.contract-ai-input textarea::placeholder{color:#ffffff61}.contract-ai-input textarea:focus{border-color:#ff844c80;outline:none;box-shadow:0 0 0 3px #ff844c1f}.contract-ai-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.contract-ai-panel .primary{min-width:148px;min-height:44px;box-shadow:none;border-radius:12px;padding:10px 16px;font-weight:700}.contract-ai-attachment{background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.contract-ai-log{background:#ffffff05;border:1px solid #ffffff14;border-radius:16px;gap:12px;padding:14px;display:grid}.contract-ai-log>h3{text-transform:uppercase;letter-spacing:.04em;opacity:.72;margin:0;font-size:13px;line-height:1.2}.contract-ai-log__item,.contract-ai-log>div>div{background:#ffffff05;border:1px solid #ffffff0f;border-radius:12px;padding:10px 12px}.contract-ai-summary,.contract-ai-comments{gap:10px;display:grid}.contract-ai-summary h3,.contract-ai-comments h3{text-transform:uppercase;letter-spacing:.04em;opacity:.72;margin:0;font-size:13px;line-height:1.2}.contract-ai-panel .primary{color:#1d120a;background:linear-gradient(#ff9b52 0%,#ff7b2c 100%);border:none}.contract-ai-panel .primary:hover{filter:brightness(1.03)}.contract-ai-panel .primary:disabled{opacity:.55;cursor:not-allowed}.contract-ai-panel{grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:10px;height:100%;min-height:0;display:grid;overflow:hidden}.contract-ai-panel__helper{margin:0;font-size:13px}.contract-ai-panel__content{min-height:0;padding-right:6px;overflow-y:auto}.contract-ai-panel__section{align-content:start;gap:10px;display:grid}.contract-ai-panel__section--enter{animation:.18s ai-section-in}.contract-ai-panel__empty{background:#ffffff05;border:1px dashed #ffffff26;border-radius:12px;padding:12px}.contract-ai-panel__edge{opacity:0;pointer-events:none;align-items:center;min-height:40px;transition:opacity .2s,transform .2s;display:flex;transform:translateY(6px)}.contract-ai-panel__edge--top{opacity:1;pointer-events:auto;transform:none}.contract-ai-panel__edge.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.contract-ai-panel__next{color:#ffdccc;cursor:pointer;background:linear-gradient(#ff844c2e,#ff844c1a);border:1px solid #ff844c73;border-radius:12px;width:100%;min-height:36px;padding:8px 12px;font-size:12px;font-weight:600;transition:transform .18s,filter .18s,opacity .18s}.contract-ai-panel__next--top{color:var(--text-main);background:linear-gradient(#ffffff14,#ffffff05);border-color:#ffffff29}.contract-ai-panel__next:hover{filter:brightness(1.06)}.contract-ai-panel__next:active{transform:translateY(1px)}.contract-ai-panel__next:disabled{opacity:0;pointer-events:none}.contract-ai-panel__next.flag{animation:1.8s ease-in-out infinite ai-flag}@keyframes ai-flag{0%{transform:translateY(0)}50%{transform:translateY(-2px)}to{transform:translateY(0)}}@keyframes ai-section-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.contract-ai-panel .contract-ai-summary,.contract-ai-panel .contract-ai-comments,.contract-ai-panel .contract-ai-request,.contract-ai-panel .contract-ai-log{border-radius:12px;gap:10px;padding:10px 12px}.contract-ai-panel .contract-ai-branch{border-radius:12px;padding:10px 12px}.contract-ai-panel .contract-ai-input textarea{min-height:96px}.contract-ai-processing{background:linear-gradient(140deg,#ff844c29,#ffffff0a);border:1px solid #ff844c59;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.contract-ai-processing__spinner{border:2px solid #ffffff40;border-top-color:#ff8c54;border-radius:999px;width:16px;height:16px;animation:.9s linear infinite ai-spin}.contract-ai-processing__text{gap:2px;display:grid}.contract-ai-processing__text strong{font-size:12px;line-height:1.2}.contract-ai-processing__text span{color:var(--text-muted);font-size:12px;line-height:1.3}.contract-ai-processing__dots{align-items:center;gap:4px;display:inline-flex}.contract-ai-processing__dots span{opacity:.35;background:#ffb38d;border-radius:999px;width:4px;height:4px;animation:1.1s ease-in-out infinite ai-dot}.contract-ai-processing__dots span:nth-child(2){animation-delay:.15s}.contract-ai-processing__dots span:nth-child(3){animation-delay:.3s}@keyframes ai-spin{to{transform:rotate(360deg)}}@keyframes ai-dot{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.hidden-file-input{display:none}.contract-workspace{align-items:stretch}.contract-workspace__left{grid-template-rows:auto auto 1fr;min-height:0;display:grid}.contract-workspace__toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.contract-workspace__toolbar .contract-tabs{flex:480px;max-height:none;margin:0}.contract-workspace__toolbar .contract-workspace__back .ghost-btn{min-height:42px;margin-bottom:0;padding:10px 14px}.contract-view{grid-template-rows:auto 1fr;gap:8px;min-height:0;display:grid}.contract-view__hint{justify-content:space-between;align-items:center;gap:12px;margin:0;display:flex}.protocol-download-btn{text-align:center;justify-content:center;align-items:center;min-height:36px;margin-bottom:0;padding:8px 12px;display:inline-flex}.contract-view__frame{flex-direction:column;min-width:0;height:calc(100dvh - 220px);min-height:620px;display:flex}.contract-view__frame>*{flex:auto;min-height:0}.contract-view__frame iframe{width:100%;height:100%;min-height:0}.contract-view--protocol .contract-view__frame--protocol{display:block}.contract-view--protocol .contract-view__frame--protocol>*{flex:none}.contract-view--protocol .contract-protocol-panel{align-content:start;gap:14px;margin-top:0}.contract-upload{align-items:center;gap:12px;display:flex}.template-attachment{border:1px solid var(--border-soft);background:#ffffff05;border-radius:14px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:12px 16px;display:flex}.contract-final-panel{flex-direction:column;gap:12px;display:flex}.protocol-table{border:1px solid #ffffff17;border-radius:14px}.protocol-table__head{background:#ffffff0f}.protocol-table__row{align-items:start}.protocol-cell__view{align-items:flex-start;gap:8px}.protocol-cell__text{white-space:pre-wrap;word-break:break-word;line-height:1.45}.protocol-cell__actions{justify-content:flex-start}.protocol-cell__btn{width:auto;min-height:30px;color:var(--text-main);cursor:pointer;background:#ffffff08;border:1px solid #ffffff1f;border-radius:9px;justify-content:center;align-items:center;margin:0;padding:5px 10px;font-size:12px;line-height:1;display:inline-flex}.protocol-cell__btn:hover{background:#ffffff14;border-color:#fff3}.protocol-cell__btn--save{background:#ff844c2b;border-color:#ff844c73}.protocol-cell__btn:disabled{opacity:.6;cursor:not-allowed}.protocol-cell__input,.protocol-cell__textarea{background:#ffffff0a;border-color:#ffffff24}.protocol-cell__input:focus,.protocol-cell__textarea:focus{border-color:#ff844c80;outline:none;box-shadow:0 0 0 3px #ff844c1f}
