:root{--ihk-blue:#005ca9;--ihk-blue-dark:#003b6f;--ihk-blue-light:#e7f2fa;--ihk-text:#17212b;--ihk-text-muted:#5f6b76;--ihk-surface:#fff;--ihk-page:#f5f8fa;--ihk-border:#d5dee5;--ihk-muted:#eaf2f8;--ihk-focus:#ffbf00;--ihk-danger:#b42318;--ihk-success:#067647;--ihk-radius:.45rem;color:var(--ihk-text);background:var(--ihk-page);font-synthesis:none;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--ihk-page);min-width:20rem;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}a{color:inherit}:focus-visible{outline:3px solid var(--ihk-focus);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:.35rem;font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.2}h2{margin-bottom:1rem;font-size:1.25rem}h3{margin-bottom:.75rem;font-size:1.05rem}.app-layout{grid-template-columns:17rem minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--ihk-blue-dark);color:#fff;flex-direction:column;height:100vh;padding:1.25rem .8rem;display:flex;position:sticky;top:0}.sidebar-brand{color:#fff;letter-spacing:-.02em;margin:0 0 1.75rem;padding:0 .7rem;font-size:1.2rem;font-weight:750;text-decoration:none;display:block}.sidebar-section{gap:.2rem;margin-bottom:1.35rem;display:grid}.sidebar-heading{color:#c4def0;letter-spacing:.08em;text-transform:uppercase;margin:.15rem .65rem .35rem;font-size:.72rem;font-weight:700}.sidebar-item,.sidebar-new{border-radius:var(--ihk-radius);color:#fff;padding:.6rem .7rem;font-size:.92rem;text-decoration:none}.sidebar-item:hover,.sidebar-item.active,.sidebar-new:hover{background:#ffffff29}.sidebar-new{text-align:center;border:1px dashed #ffffff73}.sidebar-footer{margin-top:auto}.main-content{min-width:0}.top-bar{border-bottom:1px solid var(--ihk-border);background:var(--ihk-surface);justify-content:space-between;align-items:center;gap:1rem;min-height:4rem;padding:.75rem clamp(1rem,4vw,3rem);display:flex}.brand{flex:0 auto;align-items:center;min-width:0;display:inline-flex}.brand>img{object-fit:contain;width:auto;max-width:min(11rem,38vw);height:2.25rem;display:block}.top-bar-actions{align-items:center;gap:.75rem;display:flex}.user-badge{background:var(--ihk-muted);color:var(--ihk-blue-dark);border-radius:99rem;padding:.35rem .65rem;font-size:.85rem;font-weight:650}.page{max-width:90rem;margin:0 auto;padding:clamp(1.25rem,4vw,3rem)}.page-narrow{max-width:48rem}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.page-subtitle{max-width:52rem;color:var(--ihk-text-muted)}.breadcrumb{color:var(--ihk-text-muted);margin-bottom:.45rem;font-size:.86rem}.btn{border-radius:var(--ihk-radius);border:1px solid #0000;justify-content:center;align-items:center;min-height:2.35rem;padding:.45rem .85rem;font-weight:650;text-decoration:none;transition:background .14s,border-color .14s;display:inline-flex}.btn-primary{background:var(--ihk-blue);color:#fff}.btn-primary:hover:not(:disabled){background:var(--ihk-blue-dark)}.btn-secondary{border-color:var(--ihk-blue);color:var(--ihk-blue-dark);background:#fff}.btn-secondary:hover:not(:disabled){background:var(--ihk-blue-light)}.btn-ghost{color:var(--ihk-blue-dark);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--ihk-muted)}.btn-danger{color:var(--ihk-danger);background:#fff1f0;border-color:#f5c6c2}.btn-sm{min-height:1.9rem;padding:.3rem .6rem;font-size:.85rem}.btn-link{color:var(--ihk-blue-dark);background:0 0;border:0;padding:0;font-weight:650;text-decoration:underline}.link-primary{color:var(--ihk-blue-dark);font-weight:700;text-decoration:none}.link-primary:hover{text-decoration:underline}.card-grid{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;display:grid}.project-card,.form-card,.stat-card,.comment-card,.ai-panel{border:1px solid var(--ihk-border);border-radius:var(--ihk-radius);background:var(--ihk-surface);box-shadow:0 1px 2px #17212b0a}.project-card{flex-direction:column;gap:.9rem;min-height:12rem;padding:1.15rem;text-decoration:none;display:flex}.project-card:hover{border-color:var(--ihk-blue);box-shadow:0 4px 14px #005ca924}.project-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.project-card-header h2{margin:0;font-size:1.05rem}.project-card-desc{color:var(--ihk-text-muted);flex:1;margin:0;font-size:.9rem}.project-card-meta{color:var(--ihk-text-muted);gap:1rem;font-size:.82rem;display:flex}.project-card-manager{color:var(--ihk-text-muted);font-size:.8rem}.stat-cards{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat-card{padding:1.2rem}.stat-number{color:var(--ihk-blue-dark);font-size:2rem;font-weight:750;line-height:1.1;display:block}.stat-label{color:var(--ihk-text-muted);font-size:.85rem}.quick-actions{flex-wrap:wrap;gap:.75rem;display:flex}.form-card{padding:clamp(1rem,3vw,1.5rem)}.form-group{gap:.4rem;margin-bottom:1rem;display:grid}.form-group label{font-size:.9rem;font-weight:650}.form-row{align-items:flex-start;gap:1rem;display:flex}.form-row>.form-group{flex:1;min-width:0}input,select,textarea{width:100%;color:var(--ihk-text);background:#fff;border:1px solid #b7c4ce;border-radius:.3rem;padding:.58rem .65rem}textarea{resize:vertical;min-height:6rem}input:focus,select:focus,textarea:focus{border-color:var(--ihk-blue);outline:2px solid #005ca92e}.form-actions{justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}.table-wrapper{border:1px solid var(--ihk-border);border-radius:var(--ihk-radius);background:var(--ihk-surface);overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--ihk-border);vertical-align:middle;padding:.75rem .9rem}.data-table th{color:var(--ihk-text-muted);letter-spacing:.03em;text-transform:uppercase;background:#f7fafc;font-size:.78rem}.data-table tr:last-child td{border-bottom:0}.data-table select{min-width:10rem;padding:.35rem}.role-badge,.status-badge{white-space:nowrap;border-radius:99rem;padding:.22rem .55rem;font-size:.77rem;font-weight:700;display:inline-block}.role-badge{background:var(--ihk-muted);color:var(--ihk-blue-dark)}.status-draft{color:#40505d;background:#e7edf2}.status-in-review{color:#805d00;background:#fff2cc}.status-approved,.status-implemented,.status-accepted{color:#07683e;background:#dff4e9}.status-proposed{color:#805d00;background:#fff2cc}.status-deprecated,.status-rejected{color:#a62e25;background:#fde7e5}.status-superseded{color:#604979;background:#eee8f4}.editor-layout{grid-template-columns:minmax(0,1fr) minmax(17rem,24rem);align-items:start;gap:1.5rem;display:grid}.editor-main{min-width:0}.editor-textarea{min-height:34rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.5}.ai-panel{padding:1.15rem;position:sticky;top:1rem}.ai-panel-title{margin-bottom:.3rem}.ai-panel-hint{color:var(--ihk-text-muted);margin-bottom:1rem;font-size:.88rem}.ai-suggestion{border-left:3px solid var(--ihk-blue);background:var(--ihk-blue-light);max-height:28rem;margin-top:1rem;padding:.8rem;overflow:auto}.ai-suggestion pre,.content-view{overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.content-view{border:1px solid var(--ihk-border);border-radius:var(--ihk-radius);background:var(--ihk-surface);min-height:18rem;padding:1.25rem;font-family:inherit;line-height:1.6}.comments-section,.history-section{margin-top:2rem}.comment-card{margin-bottom:.75rem;padding:.85rem 1rem}.comment-card p{white-space:pre-wrap;margin:.55rem 0 0}.comment-meta{color:var(--ihk-text-muted);gap:1rem;font-size:.8rem;display:flex}.mention-suggestions{flex-wrap:wrap;gap:.4rem;margin:-.5rem 0 .75rem;display:flex}.tab-list{border-bottom:1px solid var(--ihk-border);gap:.5rem;margin-bottom:1.25rem;padding-bottom:.5rem;display:flex}.tab-list [aria-selected=true]{background:var(--ihk-blue-light);color:var(--ihk-blue-dark)}.history-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.history-item{border-left:3px solid var(--ihk-blue);background:var(--ihk-surface);grid-template-columns:10rem minmax(10rem,1fr) auto;gap:.75rem;padding:.4rem .75rem;font-size:.88rem;display:grid}.history-time,.history-actor{color:var(--ihk-text-muted)}.history-rationale{color:var(--ihk-text-muted);grid-column:2/-1;font-style:italic}@media (width<=48rem){.app-layout{display:block}.sidebar{width:100%;height:auto;min-height:0;padding:.75rem;position:static}.sidebar-section{flex-wrap:wrap;align-items:center;margin-bottom:.5rem;display:flex}.sidebar-heading{width:100%}.top-bar{justify-content:space-between;padding:.65rem 1rem}.brand>img{max-width:30vw;height:2rem}.top-bar-actions{gap:.4rem}.user-badge{text-overflow:ellipsis;white-space:nowrap;max-width:9rem;overflow:hidden}.page{padding:1.25rem 1rem}.page-header,.form-row{flex-direction:column}.page-header>*{width:100%}.editor-layout{grid-template-columns:minmax(0,1fr)}.ai-panel{position:static}.history-item{grid-template-columns:1fr}.history-rationale{grid-column:auto}}.empty-state{border-radius:var(--ihk-radius);color:var(--ihk-text-muted);text-align:center;background:#fff;border:1px dashed #a9bac7;padding:2.5rem 1.5rem}.confirm-dialog{border:1px solid var(--ihk-border);border-radius:var(--ihk-radius);width:min(30rem,100% - 2rem);padding:1.5rem;box-shadow:0 1rem 3rem #00000040}.confirm-dialog::backdrop{background:#17212b8c}.error-banner,.success-banner{border-radius:var(--ihk-radius);margin-bottom:1rem;padding:.75rem .9rem}.error-banner{color:#93251d;background:#fff0ef;border:1px solid #f3c2be}.success-banner{color:#075d36;background:#edfff4;border:1px solid #a9dfc1}.meta-strip{color:var(--ihk-text-muted);flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem;font-size:.88rem;display:flex}.page-loader{place-items:center;min-height:15rem;display:grid}.spinner{border:.25rem solid var(--ihk-muted);border-top-color:var(--ihk-blue);border-radius:50%;width:2.25rem;height:2.25rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-color-scheme:dark){:root{--ihk-text:#e8f0f5;--ihk-text-muted:#b7c4ce;--ihk-surface:#17212b;--ihk-page:#101820;--ihk-border:#40505d;--ihk-muted:#203444}input,select,textarea,.empty-state{color:var(--ihk-text);background:#17212b}.data-table th{background:#203444}}
