:root{--ink:#1f2421;--muted:#64706a;--line:#d9ded8;--paper:#f7f5ef;--panel:#fffdf8;--pine:#1f5c4d;--pine-deep:#143e35;--mint:#d7eadf;--copper:#b4643c;--amber:#f0c36a;--blue:#426c8e;--shadow:0 24px 70px rgba(34,42,36,0.14)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:linear-gradient(135deg,rgba(31,92,77,.13),transparent 38%),radial-gradient(circle at 84% 18%,rgba(240,195,106,.28),transparent 30%),repeating-linear-gradient(90deg,rgba(31,36,33,.035) 0 1px,transparent 1px 72px),var(--paper);color:var(--ink);font-family:Avenir Next,Trebuchet MS,sans-serif}button,input{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:292px minmax(0,1fr);min-height:100vh}.sidebar{border-right:1px solid rgba(31,36,33,.12);display:flex;flex-direction:column;gap:28px;padding:28px 20px;background:rgba(255,253,248,.76);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-block{align-items:center;display:flex;gap:14px}.brand-mark{align-items:center;background:var(--pine);border-radius:6px;color:white;display:grid;font-family:Georgia,serif;font-size:28px;height:52px;justify-content:center;width:52px}.eyebrow{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:0;margin:0 0 5px;text-transform:uppercase}h1,h2,h3,h4,p{margin-top:0}h1{font-size:1.2rem;line-height:1.15}h1,h2{font-family:Georgia,serif;margin-bottom:0}h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1}h3{font-size:1.1rem;margin-bottom:0}.tab-list{display:grid;grid-gap:8px;gap:8px}.tab-button{align-items:center;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--ink);display:grid;grid-gap:10px;gap:10px;grid-template-columns:20px minmax(0,1fr) auto;min-height:44px;padding:10px 12px;text-align:left}.sidebar-link{text-decoration:none}.tab-button.active,.tab-button:hover{background:rgba(31,92,77,.09);border-color:rgba(31,92,77,.18)}.tab-button small{color:var(--copper);font-size:.7rem;font-weight:800}.resource-card{background:var(--pine-deep);border-radius:8px;color:white;display:grid;grid-gap:8px;gap:8px;margin-top:auto;padding:16px}.resource-card .eyebrow,.resource-card span{color:rgba(255,255,255,.72)}.resource-card strong{font-size:1.05rem}.resource-card span{font-size:.9rem;line-height:1.45}.logout-button{align-items:center;background:transparent;border:1px solid var(--line);border-radius:6px;color:var(--muted);display:inline-flex;gap:8px;min-height:40px;justify-content:center;padding:0 12px}.logout-button:hover{background:rgba(31,92,77,.08);color:var(--ink)}.workspace{padding:32px}.topbar{align-items:center;display:flex;justify-content:space-between;margin:0 auto 28px;max-width:1180px}.danger-button,.icon-button,.primary-button,.secondary-button{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:6px;color:var(--ink);display:inline-flex;gap:8px;min-height:40px;padding:0 12px}.danger-button{color:#8a352e}.danger-button:hover{background:rgba(180,65,55,.1);border-color:rgba(180,65,55,.28)}.primary-button{background:var(--pine);border-color:var(--pine);color:white;justify-content:center;width:100%}.primary-button:disabled{cursor:wait;opacity:.68}.notice{background:rgba(240,195,106,.22);border:1px solid rgba(180,100,60,.22);border-radius:6px;color:#765122;font-size:.86rem;line-height:1.42;padding:10px 12px}.notice.error{background:rgba(180,65,55,.12);color:#7a2f27}.notice.insight{background:rgba(31,92,77,.1);border-color:rgba(31,92,77,.18);color:var(--pine-deep)}.topic-workflow{display:grid;grid-gap:18px;gap:18px;margin:0 auto;max-width:1180px}.search-panel,.summary-sidebar{background:rgba(255,253,248,.88);border:1px solid rgba(31,36,33,.12);border-radius:8px;box-shadow:var(--shadow)}.search-panel{padding:16px}.search-form{align-items:center;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) 170px}.result-layout{align-items:start;display:grid;grid-gap:18px;gap:18px;grid-template-columns:280px minmax(0,1fr)}.summary-sidebar{display:grid;grid-gap:12px;gap:12px;padding:16px;position:-webkit-sticky;position:sticky;top:20px}.summary-card,.summary-note{border-radius:8px;padding:12px}.summary-card{background:rgba(255,255,255,.76);border:1px solid var(--line)}.summary-card strong{display:block;font-size:1.16rem;line-height:1.25;overflow-wrap:anywhere}.summary-note{background:rgba(31,92,77,.1);border:1px solid rgba(31,92,77,.16);color:var(--pine-deep);font-size:.9rem;line-height:1.45}.result-layout .results-panel{grid-column:auto}.skill-answer{background:white;border:1px solid var(--line);border-radius:8px;color:#38413c;line-height:1.45;padding:14px 16px}.skill-answer p{margin-bottom:0}.related-list,.source-table{display:grid}.source-line-main,.source-table-head{display:grid;grid-gap:14px;gap:14px;grid-template-columns:92px minmax(190px,1.25fr) minmax(230px,1.45fr) 180px}.source-table-head{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.02em;padding:0 14px 8px;text-transform:uppercase}.source-line{background:white;border:1px solid var(--line);border-bottom:0}.source-line:first-of-type{border-radius:8px 8px 0 0}.source-line:last-child{border-bottom:1px solid var(--line);border-radius:0 0 8px 8px}.source-line:only-child{border-radius:8px}.related-list .source-line{border-color:rgba(240,195,106,.72)}.source-line-main{align-items:start;padding:13px 14px}.source-year-text{color:var(--pine-deep);font-weight:900}.source-case-text{color:var(--ink);font-weight:800}.source-ao-text,.source-label-text{color:#5f6b65}.source-ao-text,.source-case-text,.source-label-text,.source-year-text{font-size:.96rem;line-height:1.35;min-width:0}.source-label-text{text-align:right}.evidence-toggle{border-top:1px solid rgba(217,222,216,.7);color:#3f4843;font-size:.9rem;padding:8px 14px 12px 120px}.evidence-toggle summary{color:var(--pine);cursor:pointer;font-weight:800}.evidence-toggle p{line-height:1.48;margin:8px 0 0}.topic-grid{display:grid;grid-gap:18px;gap:18px;grid-auto-rows:max-content;grid-template-columns:minmax(280px,390px) minmax(0,1fr);margin:0 auto;max-width:1180px}.planned-panel,.query-panel,.results-panel{background:rgba(255,253,248,.88);border:1px solid rgba(31,36,33,.12);border-radius:8px;box-shadow:var(--shadow)}.query-panel{align-self:start;display:grid;grid-gap:22px;gap:22px;padding:22px}.panel-heading{gap:16px;justify-content:space-between}.panel-heading,.search-box{align-items:center;display:flex}.search-box{background:white;border:1px solid var(--line);border-radius:6px;gap:10px;min-height:50px;padding:0 14px}.search-box input{background:transparent;border:0;color:var(--ink);min-width:0;outline:0;width:100%}.alias-list,.filter-row{display:flex;flex-wrap:wrap;gap:8px}.alias-list span,.filter-chip{border-radius:999px;font-size:.86rem;min-height:32px;padding:7px 11px}.filter-chip{background:white;border:1px solid var(--line);color:var(--ink)}.filter-chip.active{background:var(--pine);border-color:var(--pine);color:white}.alias-block{border-top:1px solid var(--line);padding-top:18px}.alias-list span{background:var(--mint);color:var(--pine-deep)}.summary-strip{display:grid;align-self:start;grid-gap:10px;gap:10px;grid-column:2;grid-template-columns:repeat(3,minmax(0,1fr))}.summary-strip>div{background:rgba(255,253,248,.82);border:1px solid var(--line);border-radius:8px;color:var(--ink);min-height:auto;padding:10px 13px}.summary-strip .eyebrow{color:var(--muted)}.summary-strip strong{display:block;font-size:1.08rem;line-height:1.25;overflow-wrap:anywhere}.results-panel{display:grid;grid-gap:14px;gap:14px;grid-column:2;padding:22px}.answer-box{background:white;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:7px;gap:7px;padding:14px 16px}.answer-box p{color:#38413c;line-height:1.45;margin-bottom:0}.compact-list{display:grid;grid-gap:8px;gap:8px}.empty-state{background:white;border:1px dashed var(--line);border-radius:8px;color:var(--muted);line-height:1.45;padding:18px}.source-row{background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden}.related-panel{border-top:1px solid var(--line);display:grid;grid-gap:12px;gap:12px;padding-top:18px}.related-row{border-color:rgba(240,195,106,.72)}.source-row summary{align-items:center;cursor:pointer;display:grid;grid-gap:12px;gap:12px;grid-template-columns:92px minmax(190px,1.15fr) minmax(210px,1.35fr) 150px;list-style:none;min-height:50px;padding:10px 14px}.source-row summary::-webkit-details-marker{display:none}.source-meta{background:var(--mint);border-radius:999px;color:var(--pine-deep);font-size:.78rem;font-weight:800;justify-self:start;padding:5px 8px;white-space:nowrap}.source-ao,.source-case,.source-source{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-case{font-weight:800}.source-ao,.source-source{color:var(--muted);font-size:.86rem}.source-source{justify-self:end;text-align:right}.source-detail{border-top:1px solid var(--line);display:grid;grid-gap:8px;gap:8px;padding:12px}.source-detail p{color:#38413c;font-size:.92rem;line-height:1.48;margin-bottom:0}.source-detail footer{color:var(--muted);font-size:.78rem;line-height:1.35}.method-note{background:#f7faf7;border:1px solid var(--line);border-radius:8px;color:#38413c;font-size:.92rem;line-height:1.45;padding:12px 14px}.planned-panel{margin:0 auto;max-width:720px;padding:26px}.planned-panel p:last-child{color:var(--muted);line-height:1.55;margin-bottom:0}.login-shell{align-items:center;display:grid;min-height:100vh;padding:24px}.login-panel{background:rgba(255,253,248,.9);border:1px solid rgba(31,36,33,.12);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:28px;gap:28px;justify-self:center;max-width:420px;padding:26px;width:100%}.login-field,.login-form{display:grid;grid-gap:14px;gap:14px}.login-field span{color:var(--muted);font-size:.86rem;font-weight:800}.login-field div{align-items:center;background:white;border:1px solid var(--line);border-radius:6px;display:flex;gap:10px;min-height:50px;padding:0 14px}.login-field input{background:transparent;border:0;color:var(--ink);min-width:0;outline:0;width:100%}.admin-shell{display:grid;grid-gap:18px;gap:18px;margin:0 auto;max-width:1180px;min-height:100vh;padding:32px}.admin-header{align-items:center;display:flex;gap:18px;justify-content:space-between}.admin-header h1{font-size:2rem}.admin-home-link{text-decoration:none}.admin-grid{align-items:start;display:grid;grid-gap:18px;gap:18px;grid-template-columns:360px minmax(0,1fr)}.admin-panel{background:rgba(255,253,248,.88);border:1px solid rgba(31,36,33,.12);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:16px;gap:16px;padding:22px}.admin-panel h2{font-family:inherit;font-size:1.2rem;line-height:1.2}.admin-field{display:grid;grid-gap:7px;gap:7px}.admin-field span{color:var(--muted);font-size:.86rem;font-weight:800}.admin-field input,.admin-field select,.admin-user-row select{background:white;border:1px solid var(--line);border-radius:6px;color:var(--ink);min-height:42px;padding:0 11px;width:100%}.admin-user-list{display:grid;grid-gap:10px;gap:10px}.admin-user-row{align-items:center;background:white;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) 140px 110px 110px;padding:12px}.admin-user-row span,.admin-user-row strong{display:block;min-width:0;overflow-wrap:anywhere}.admin-user-row span{color:var(--muted);font-size:.78rem;margin-top:3px}.temporary-password{background:var(--pine-deep);border-radius:8px;color:white;padding:14px 16px}.temporary-password .eyebrow{color:rgba(255,255,255,.7)}.temporary-password strong{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}@media (max-width:940px){.app-shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid rgba(31,36,33,.12);border-right:0}.resource-card{margin-top:0}.result-layout,.search-form{grid-template-columns:1fr}.summary-sidebar{position:static}.source-table-head{display:none}.source-line-main{grid-template-columns:1fr}.source-label-text{text-align:left}.evidence-toggle{padding-left:14px}.results-panel,.summary-strip,.topic-grid{grid-column:auto}.summary-strip,.topic-grid{grid-template-columns:1fr}.source-row summary{align-items:start;grid-template-columns:92px minmax(0,1fr)}.admin-grid{grid-template-columns:1fr}.source-ao,.source-source{grid-column:2;justify-self:stretch;text-align:left}}@media (max-width:620px){.sidebar,.workspace{padding:20px}.topbar{align-items:flex-start;gap:16px}.icon-button{flex:0 0 auto}.tab-button{grid-template-columns:20px minmax(0,1fr)}.tab-button small{display:none}.admin-shell{padding:20px}.admin-header,.admin-user-row{align-items:stretch;grid-template-columns:1fr}}