:root{--bg:#eef2f6;--panel:#fff;--text:#1f2937;--muted:#6b7280;--line:#d8dee6;--accent:#1d4ed8;--accent-dark:#1e40af;--danger:#b42318;--success:#067647}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);background:var(--bg);margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.35}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-dark)}.container{width:min(1180px,100% - 1.5rem);margin:0 auto}.site-header,.site-footer{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb}.site-footer{border-top:1px solid var(--line);border-bottom:0;margin-top:1.5rem}.brand-row,.site-footer .container{justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.72rem}.page-title,.panel h2{margin:.1rem 0 0;font-size:1.05rem}.nav-links{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.inline-form{margin:0}.link-button,.secondary-button,.primary-button{border:1px solid var(--line);min-height:2.1rem;color:var(--text);cursor:pointer;background:#fff;border-radius:.45rem;justify-content:center;align-items:center;padding:.45rem .8rem;font-size:.92rem;line-height:1;display:inline-flex}.link-button:hover,.secondary-button:hover,.primary-button:hover{border-color:#b9c5d4}.primary-button{border-color:var(--accent);background:var(--accent);color:#fff}.primary-button:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}.secondary-button,.link-button{background:#fff}.content-grid{padding:.75rem 0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:.55rem;padding:.95rem;box-shadow:0 1px 2px #1018280a}.form-stack{gap:.75rem;margin-top:.75rem;display:grid}label{gap:.28rem;display:grid}label span{color:#374151;font-size:.88rem}input,select,textarea{border:1px solid var(--line);width:100%;font:inherit;color:var(--text);background:#fff;border-radius:.45rem;padding:.55rem .7rem}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:2px solid #1d4ed826}textarea{resize:vertical;min-height:2.5rem}.muted{color:var(--muted)}.alert{border-radius:.45rem;margin:.75rem 0;padding:.55rem .7rem}.alert.error{color:var(--danger);background:#fef3f2}.alert.success{color:var(--success);background:#ecfdf3}.action-row,.panel-head,.pagination,.toolbar{align-items:center;gap:.5rem;display:flex}.panel-head,.toolbar{justify-content:space-between;margin-bottom:.5rem}.data-table{border-collapse:collapse;width:100%;margin-top:.5rem;font-size:.92rem}.data-table th,.data-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.45rem .5rem}.data-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.data-table td{white-space:normal}.split-layout{grid-template-columns:1fr;gap:.85rem;display:grid}.panel-note{color:var(--muted);margin:.35rem 0 0;font-size:.88rem}.status-line{min-height:1.2rem;color:var(--muted);margin:.25rem 0 .5rem}.pagination{justify-content:flex-end;margin-top:.6rem}.auth-page{place-items:center;min-height:100vh;padding:1rem;display:grid}.auth-shell{width:min(380px,100%)}.auth-panel{background:var(--panel);border:1px solid var(--line);border-radius:.55rem;padding:1rem}.compact-title{margin:0;font-size:1rem}.compact-meta{color:var(--muted);margin:.2rem 0 0;font-size:.88rem}.kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);align-items:center;gap:.35rem;font-size:.72rem;display:inline-flex}@media (width>=900px){.split-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start}}.container-fluid{width:100%;padding-left:.75rem;padding-right:.75rem}.page-with-fixed-footer{padding-bottom:3.25rem}.fixed-footer{z-index:20;position:fixed;bottom:0;left:0;right:0}.generator-shell{grid-template-columns:1fr;align-items:stretch;gap:.75rem;min-height:100vh;display:grid}.history-sidebar{box-shadow:none;background:#f8fafc;flex-direction:column;min-height:0;display:flex}.sidebar-brand{border-bottom:1px solid var(--line);margin-bottom:.55rem;padding-bottom:.65rem}.sidebar-search{margin-bottom:.75rem;position:relative}.search-input{border:1px solid var(--line);width:100%;color:var(--text);background:#fff;border-radius:.45rem;outline:none;padding:.45rem .6rem;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #1d4ed826}.history-list{gap:.08rem;max-height:250px;display:grid;overflow-y:auto}.sidebar-actions{border-top:1px solid var(--line);gap:.35rem;margin-top:auto;padding-top:.75rem;display:grid}.sidebar-link{color:var(--text);border:1px solid #0000;border-radius:.45rem;align-items:center;min-height:2rem;padding:.4rem .5rem;display:flex}.sidebar-link:hover{color:var(--text);background:#eef2f6;border-color:#0000}.sidebar-logout{margin:0}.sidebar-button{cursor:pointer;font:inherit;text-align:left;background:0 0;width:100%}.history-row{border-radius:.42rem;grid-template-columns:minmax(0,1fr);align-items:center;min-height:2.15rem;display:grid;position:relative}.history-row:hover,.history-row:focus-within{background:#f8fafc}.history-item{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:.42rem;min-height:2.15rem;padding:.46rem 2rem .46rem .55rem;display:block;overflow:hidden}.history-item.active{color:var(--accent-dark);border-left:3px solid var(--accent);border-radius:0 .42rem .42rem 0;font-weight:600;background:#e2e8f0!important}.history-title{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:500;line-height:1.2;display:block;overflow:hidden}.history-meta{display:none}.history-delete{color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:.35rem;justify-content:center;align-items:center;width:1.35rem;height:1.35rem;padding:0;font-size:1rem;line-height:1;transition:opacity .12s,background .12s,color .12s;display:inline-flex;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.history-row:hover .history-delete,.history-delete:focus-visible{opacity:1}.history-delete:hover,.history-delete:focus-visible{color:var(--danger);background:#eef2f6}.workspace-panel{grid-template-columns:1fr;gap:.85rem;min-width:0;display:grid}.input-panel,.output-panel{min-height:calc(50vh - 3rem)}.fill-stack,.fill-label{flex:1}.input-textarea,.output-textarea{resize:none;height:100%;min-height:100%}.input-textarea{min-height:18rem}.output-textarea{min-height:19rem}.output-panel{flex-direction:column;display:flex}.output-panel .status-line{flex:none}.output-panel .fill-label{flex-direction:column;display:flex}.output-panel .fill-label textarea,.input-panel .fill-label textarea{flex:1}.output-block{gap:.28rem;display:grid}.output-label{color:#374151;font-size:.88rem}.generated-title,.generated-description{color:var(--text);white-space:pre-wrap;background:0 0;border:0;margin:0;padding:0}.generated-title{min-height:1.4rem;font-size:1.02rem;font-weight:650;line-height:1.35}.generated-description{flex:1;min-height:19rem;line-height:1.55;overflow:auto}.generated-title.muted,.generated-description.muted{color:var(--muted);font-weight:400}.output-description-label{flex-direction:column;display:flex}@media (width>=1040px){body{overflow:hidden}.generator-shell{grid-template-columns:22rem minmax(0,1fr);height:100vh;max-height:100vh;padding:.75rem;overflow:hidden}.history-sidebar,.workspace-panel>.panel{height:calc(100vh - 1.5rem)!important;min-height:0!important;max-height:calc(100vh - 1.5rem)!important}.history-sidebar{overflow:hidden}.history-list{flex:1;min-height:0;max-height:none}.workspace-panel{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}.input-panel{flex-direction:column;display:flex}.input-panel form,.input-panel .fill-label{flex-direction:column;flex:1;min-height:0;display:flex}.input-panel .input-textarea{resize:none;flex:1;min-height:0}.output-panel{flex-direction:column;display:flex}.output-description-label{flex:1;min-height:0}.generated-description{flex:1;min-height:0;overflow-y:auto}}.modal-backdrop{z-index:50;background:#0f172a6b;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-backdrop[hidden]{display:none}.modal-panel{background:var(--panel);border:1px solid var(--line);border-radius:.55rem;width:min(100%,32rem);max-width:32rem;padding:1rem;box-shadow:0 18px 40px #0f172a38}
