:root{color:#25231f;background:#f7f3ed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}:root[data-theme=dark]{color:#f3eee5;background:#171c1b}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.loading-screen{display:grid;min-height:100vh;place-items:center;color:#756c61;font-size:14px}.auth-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,#fbf0d9 0,transparent 32%),#f7f3ed}.auth-card{width:min(100%,440px);padding:42px;border:1px solid #e2d9cd;border-radius:24px;background:#fffdf9;box-shadow:0 24px 70px #33281912}.auth-topline,.topbar-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.theme-toggle{display:inline-flex;gap:7px;align-items:center;padding:8px 10px;border:1px solid #ded5c8;border-radius:10px;background:transparent;color:#696156;font-size:11px}.theme-toggle span:first-child{font-size:16px;line-height:1}.brand-lockup{display:flex;align-items:center;gap:10px;color:#263f38;font:21px Georgia,serif}.brand-mark{display:grid;width:31px;height:31px;place-items:center;border-radius:10px;background:#263f38;color:#f4c978;font:13px Inter,sans-serif}.auth-card .eyebrow{margin:54px 0 14px;color:#9b6f2d;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.auth-card h1{margin:0;color:#263f38;font:650 36px/1.05 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.045em}.auth-copy{margin:16px 0 30px;color:#81786d;font-size:14px;line-height:1.6}label{display:block;margin:0 0 8px;color:#5e564c;font-size:12px;font-weight:700}input{width:100%;border:1px solid #ded5c8;border-radius:12px;background:#fffdf9;color:#25231f;outline:none}input:focus{border-color:#688074;box-shadow:0 0 0 3px #6880741f}.auth-card input{padding:14px}.auth-card form{display:grid;gap:10px}.primary-button{margin-top:8px;padding:13px 16px;border:0;border-radius:12px;background:#263f38;color:#fffaf2;font-size:13px;font-weight:750}.primary-button:disabled{opacity:.65}.text-button{border:0;background:transparent;color:#688074;font-size:12px}.form-error,.global-error{color:#a34f41;font-size:12px;line-height:1.45}.security-note{margin:28px 0 0;color:#9a9084;font-size:11px;line-height:1.5}.global-error{position:fixed;right:18px;bottom:18px;max-width:320px;padding:13px 16px;border:1px solid #edc8c1;border-radius:12px;background:#fff6f4;box-shadow:0 12px 28px #52261a1a}.admin-app{min-height:100vh;background:#f7f3ed}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #e4ddd3;background:#fffdf9d9}.account-button{border:0;background:transparent;color:#7e766b;font-size:12px}.admin-body{display:grid;min-height:calc(100vh - 68px);grid-template-columns:220px 1fr}.sidebar{padding:28px 16px;border-right:1px solid #e4ddd3;background:#eee8df}.eyebrow{margin:0 12px 18px;color:#958b7f;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.nav-item{display:flex;width:100%;gap:10px;align-items:center;margin:4px 0;padding:11px 12px;border:0;border-radius:11px;background:transparent;color:#696156;text-align:left;font-size:13px}.nav-item.active{background:#263f38;color:#fffaf2}.nav-item.coming-soon{opacity:.48}.sidebar-note{margin:220px 12px 0;color:#998f82;font-size:11px;line-height:1.55}.workspace{display:flex;flex-direction:column;background:#fcfaf6}.workspace-head{display:flex;align-items:end;justify-content:space-between;padding:34px 42px 24px}.workspace-head h1{margin:0;color:#263f38;font:650 30px/1.08 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.04em}.workspace-head p{margin:7px 0 0;color:#8c8377;font-size:13px}.connection-status{display:inline-flex;gap:7px;align-items:center;color:#688074;font-size:11px}.connection-status i{width:7px;height:7px;border-radius:50%;background:#76a385}.chat-card{display:flex;flex:1;flex-direction:column;margin:0 42px 34px;border:1px solid #e5ded4;border-radius:18px;background:#fffdf9;box-shadow:0 12px 30px #40301d0d}.chat-empty{display:flex;flex:1;align-items:center;justify-content:center;padding:55px 24px;text-align:center}.chat-messages{display:flex;flex:1;flex-direction:column;gap:14px;overflow-y:auto;padding:24px}.chat-message{max-width:min(85%,560px);padding:12px 15px;border-radius:14px;background:#f3eee6;color:#4d463e;font-size:13px;line-height:1.5;white-space:pre-wrap}.chat-message.user{align-self:flex-end;background:#263f38;color:#fffaf2}.chat-message span{display:block;margin-bottom:5px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.65}.chat-message p{margin:0}.candidate-list,.proposal-actions,.create-actions{display:flex;gap:8px;padding:0 15px 15px}.candidate-list{flex-direction:column}.candidate-card{display:grid;gap:5px;padding:13px;border:1px solid #ded5c8;border-radius:11px;background:#faf6ee;color:#4d463e}.candidate-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.candidate-card>span{color:#8d8479;font-size:11px}.candidate-card button,.create-new-button{align-self:start;margin-top:5px;padding:8px 11px;border:1px solid #b9c9c0;border-radius:9px;background:transparent;color:#4d7164;font-size:11px;font-weight:750}.candidate-list>.create-new-button,.create-actions{margin-top:2px}.candidate-list>.create-new-button{width:fit-content}.selected-context{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 15px;border-bottom:1px solid #d9e4dc;background:#eef6f0;color:#426356;font-size:12px;font-weight:750}.selected-context button{padding:5px 0;border:0;background:transparent;color:#688074;font-size:11px;font-weight:750;text-decoration:underline}.approval-badge{flex:0 0 auto;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:700}.confirm-button,.cancel-button{padding:10px 13px;border-radius:10px;font-size:12px;font-weight:700}.confirm-button{border:0;background:#263f38;color:#fffaf2}.cancel-button{border:1px solid #ded5c8;background:transparent;color:#766b5e}.confirm-button:disabled,.send-button:disabled{cursor:wait;opacity:.6}button:focus-visible{outline:3px solid #68807466;outline-offset:2px}.empty-inner{max-width:390px}.empty-icon{display:grid;width:52px;height:52px;margin:0 auto 18px;place-items:center;border:1px solid #dfcda9;border-radius:17px;background:#fbf0d9;color:#9b6f2d;font-size:22px}.empty-inner h2{margin:0;font:500 22px Georgia,serif}.empty-inner p{margin:10px 0 20px;color:#8d8479;font-size:13px;line-height:1.55}.example{padding:12px 15px;border:1px solid #e8dfd2;border-radius:12px;background:#faf6ee;color:#766b5e;font-size:12px;line-height:1.45;text-align:left}.composer{display:flex;gap:12px;padding:15px;border-top:1px solid #eee7dd}.composer input{padding:13px 14px}.send-button{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border:0;border-radius:12px;background:#263f38;color:#fffaf2;font-size:20px}.establishments-workspace{min-height:calc(100vh - 68px)}.establishments-panel{flex:1;margin:0 42px 34px;padding:22px;border:1px solid #e5ded4;border-radius:18px;background:#fffdf9;box-shadow:0 12px 30px #40301d0d}.establishments-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end;margin-bottom:24px}.establishment-search-control,.page-size-control{display:grid;gap:8px}.establishments-toolbar label{margin:0}.establishments-toolbar input{padding:13px 14px}.page-size-control select{min-width:92px;padding:13px 30px 13px 14px;border:1px solid #ded5c8;border-radius:12px;background:#fffdf9;color:#25231f}.page-size-control select:focus{border-color:#688074;outline:none;box-shadow:0 0 0 3px #6880741f}.establishment-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.establishment-card{min-height:166px;padding:18px;border:1px solid #e8dfd2;border-radius:14px;background:#faf6ee}.establishment-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.establishment-category{color:#9b6f2d;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.approval-badge{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:700}.approval-badge.approved{background:#e1f0e3;color:#4d7d58}.approval-badge.pending{background:#f6e9c9;color:#946a25}.establishment-card h2{margin:24px 0 6px;color:#263f38;font-size:17px;letter-spacing:-.02em}.establishment-card p{margin:0 0 7px;color:#766b5e;font-size:12px}.establishment-card small{color:#9a9084;font-size:11px}.detail-link{display:block;margin-top:18px;padding:0;border:0;background:transparent;color:#688074;font-size:12px;font-weight:700}.list-state{display:grid;min-height:260px;place-items:center;color:#8d8479;font-size:13px;text-align:center}.error-state{color:#a34f41}.pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px;color:#766b5e;font-size:12px}.pagination button{padding:9px 12px;border:1px solid #ded5c8;border-radius:10px;background:transparent;color:#5e564c;font-size:12px}.pagination button:disabled{cursor:not-allowed;opacity:.45}.establishment-detail-workspace{min-height:calc(100vh - 68px)}.detail-head{align-items:start}.back-button{margin-bottom:20px;padding:0;border:0;background:transparent;color:#688074;font-size:12px;font-weight:700}.establishment-detail-panel{flex:1;margin:0 42px 34px;padding:24px;border:1px solid #e5ded4;border-radius:18px;background:#fffdf9;box-shadow:0 12px 30px #40301d0d}.detail-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:32px}.detail-image-column{min-width:0}.detail-image,.detail-preview img{display:block;width:100%;max-height:480px;object-fit:cover;border-radius:14px;background:#eee8df}.detail-image-empty{display:grid;min-height:300px;place-items:center;padding:24px;border:1px dashed #ded5c8;border-radius:14px;color:#8d8479;text-align:center}.detail-image-column>.confirm-button{margin-top:14px}.detail-information{display:grid;align-content:start;gap:0;margin:0;border-top:1px solid #e8dfd2}.detail-information div{padding:16px 0;border-bottom:1px solid #e8dfd2}.detail-information dt{color:#958b7f;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.detail-information dd{margin:7px 0 0;color:#263f38;font-size:14px}.approval-switch{display:inline-flex;align-items:center;gap:9px;margin:12px 0 0;color:#766b5e;font-size:11px;font-weight:700}.approval-switch input{position:absolute;width:1px;height:1px;opacity:0}.approval-switch-track{position:relative;display:inline-flex;width:42px;height:24px;align-items:center;padding:3px;border-radius:999px;background:#cfc6b9;transition:background .15s ease}.approval-switch-track span{width:18px;height:18px;border-radius:50%;background:#fffdf9;box-shadow:0 1px 3px #33281933;transition:transform .15s ease}.approval-switch input:checked+.approval-switch-track{background:#688074}.approval-switch input:checked+.approval-switch-track span{transform:translate(18px)}.approval-switch input:focus-visible+.approval-switch-track{outline:3px solid #68807433;outline-offset:2px}.approval-modal-backdrop{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#171c1b99}.approval-modal{width:min(100%,420px);padding:24px;border:1px solid #e5ded4;border-radius:16px;background:#fffdf9;box-shadow:0 24px 70px #171c1b55}.approval-modal h2{margin:0;color:#263f38;font-size:18px}.approval-modal p{margin:10px 0 0;color:#766b5e;font-size:13px;line-height:1.5}.approval-modal .detail-actions{justify-content:flex-end}.detail-state{display:grid;min-height:50vh;place-items:center;gap:14px;color:#8d8479;font-size:13px;text-align:center}.detail-state p{margin:0}.detail-state button{padding:9px 12px;border:1px solid #ded5c8;border-radius:10px;background:transparent;color:#5e564c}.detail-message{margin-bottom:18px;padding:12px 14px;border-radius:10px;font-size:12px}.detail-message.error-state{border:1px solid #edc8c1;background:#fff6f4}.success-state{border:1px solid #cce2cf;background:#f1faf2;color:#4d7d58}.crop-flow{margin-top:16px}.crop-viewport{position:relative;height:min(55vw,480px);min-height:280px;overflow:hidden;border-radius:14px;background:#171c1b}.detail-preview p{margin:0 0 10px;color:#958b7f;font-size:11px;font-weight:700}.detail-actions{display:flex;gap:8px;margin-top:14px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:root[data-theme=dark] .auth-page,:root[data-theme=dark] .admin-app{background:#171c1b}:root[data-theme=dark] .auth-card,:root[data-theme=dark] .chat-card{border-color:#33413e;background:#202825;box-shadow:0 24px 70px #0003}:root[data-theme=dark] .auth-card h1,:root[data-theme=dark] .workspace-head h1{color:#f3eee5}:root[data-theme=dark] .topbar{border-color:#33413e;background:#1c2321}:root[data-theme=dark] .sidebar{border-color:#33413e;background:#1c2321}:root[data-theme=dark] .workspace{background:#171c1b}:root[data-theme=dark] .theme-toggle,:root[data-theme=dark] input{border-color:#45534f;background:#202825;color:#f3eee5}:root[data-theme=dark] .page-size-control select{border-color:#45534f;background:#202825;color:#f3eee5}:root[data-theme=dark] .auth-copy,:root[data-theme=dark] .workspace-head p,:root[data-theme=dark] .empty-inner p,:root[data-theme=dark] .account-button,:root[data-theme=dark] .theme-toggle{color:#b5b0a7}:root[data-theme=dark] label,:root[data-theme=dark] .security-note{color:#c6c0b6}:root[data-theme=dark] .example{border-color:#45534f;background:#26302d;color:#c3bbb0}:root[data-theme=dark] .composer{border-color:#33413e}:root[data-theme=dark] .empty-icon{border-color:#79633b;background:#3a3020}:root[data-theme=dark] .chat-message{background:#2b3531;color:#ece7df}:root[data-theme=dark] .chat-message.user{background:#36574c;color:#fffaf2}:root[data-theme=dark] .candidate-card{border-color:#45534f;background:#26302d;color:#ece7df}:root[data-theme=dark] .candidate-card>span,:root[data-theme=dark] .cancel-button{color:#b5b0a7}:root[data-theme=dark] .candidate-card button,:root[data-theme=dark] .create-new-button{border-color:#607c70;color:#b9d5c7}:root[data-theme=dark] .selected-context{border-color:#385046;background:#22352d;color:#c4dfd0}:root[data-theme=dark] .establishments-panel,:root[data-theme=dark] .establishment-card{border-color:#33413e;background:#202825}:root[data-theme=dark] .establishment-card h2{color:#f3eee5}:root[data-theme=dark] .establishment-card p,:root[data-theme=dark] .establishment-card small,:root[data-theme=dark] .pagination{color:#b5b0a7}:root[data-theme=dark] .pagination button{border-color:#45534f;color:#ece7df}:root[data-theme=dark] .establishment-detail-panel{border-color:#33413e;background:#202825}:root[data-theme=dark] .detail-information{border-color:#33413e}:root[data-theme=dark] .detail-information div{border-color:#33413e}:root[data-theme=dark] .detail-information dd{color:#f3eee5}:root[data-theme=dark] .detail-image-empty{border-color:#45534f}:root[data-theme=dark] .detail-message.error-state{border-color:#70453e;background:#30211f}:root[data-theme=dark] .approval-switch{color:#b5b0a7}:root[data-theme=dark] .approval-switch-track span{background:#f3eee5}:root[data-theme=dark] .approval-modal{border-color:#33413e;background:#202825}:root[data-theme=dark] .approval-modal h2{color:#f3eee5}:root[data-theme=dark] .approval-modal p{color:#b5b0a7}@media (max-width: 720px){.auth-card{padding:30px 24px}.auth-card h1{font-size:31px}.admin-body{grid-template-columns:1fr}.sidebar{display:flex;gap:4px;overflow-x:auto;padding:12px;border-right:0;border-bottom:1px solid #e4ddd3}.sidebar .eyebrow,.sidebar-note{display:none}.nav-item{width:auto;white-space:nowrap}.workspace-head{padding:26px 20px 20px}.workspace-head h1{font-size:26px}.connection-status{display:none}.chat-card{margin:0 20px 22px}.candidate-card-head{align-items:start;flex-direction:column;gap:7px}.selected-context{align-items:start;flex-direction:column}.establishments-panel{margin:0 20px 22px;padding:16px}.establishments-toolbar,.establishment-list{grid-template-columns:1fr}.establishment-detail-panel{margin:0 20px 22px;padding:16px}.detail-grid{grid-template-columns:1fr;gap:24px}.crop-viewport{height:65vw;min-height:240px}.approval-modal-backdrop{padding:16px}.approval-modal{padding:20px}}
