*{box-sizing:border-box}html{font-size:16px}body{margin:0;font-family:Tahoma,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.7;--bg:#f6f8fc;--surface:#fff;--text:#18212f;--muted:#606b7c;--line:#e0e5ed;--soft:#edf3ff;--blue:#185abc;--green:#137333;--red:#b3261e;--yellow:#815c00}body.dark{--bg:#090b0f;--surface:#14171e;--text:#edf1f8;--muted:#aab4c4;--line:#303641;--soft:#202d47;--blue:#9ac0ff;--green:#81d59d;--red:#ffaaa2;--yellow:#f5cf69;color-scheme:dark}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--blue);text-decoration:none}button{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:8px 15px;border-radius:9px;font-size:.875rem;font-weight:600}button:hover{border-color:var(--blue);background:var(--soft)}button.primary{background:#245fcc;border-color:#245fcc;color:#fff}button.danger{color:var(--red)}button.flat{border-color:transparent;background:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #4285f4;outline-offset:3px}.skip{position:fixed;top:-80px;z-index:90;background:var(--surface);padding:12px}.skip:focus{top:0}.layout{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{border-left:1px solid var(--line);background:var(--surface);padding:30px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:0 12px 24px}.brand img{width:42px;height:42px}.brand b{font-size:1.35rem;letter-spacing:1px}.brand small{display:block;font-size:.75rem;color:var(--muted)}nav{display:grid;gap:5px}nav a{display:flex;gap:13px;align-items:center;padding:10px 13px;border-radius:8px;color:var(--muted);font-size:.9375rem}nav a.active{background:var(--soft);color:var(--blue);font-weight:700}nav a:hover{background:var(--bg)}.ico{font-family:Arial;width:23px;font-size:1.25rem;text-align:center}.navcaption{font-size:.75rem;color:var(--muted);margin:22px 12px 8px}.sidebarfoot{margin-top:auto;padding:20px 12px 0;font-size:.8125rem;color:var(--muted)}.dots{display:flex;gap:5px;direction:ltr;margin-bottom:12px}.dots i{width:22px;height:4px;background:#4285f4;border-radius:3px}.dots i:nth-child(2){background:#ea4335}.dots i:nth-child(3){background:#fbbc05}.dots i:nth-child(4){background:#34a853}.topbar{padding:18px 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--surface);gap:16px}.topbar .sub{font-size:.8125rem}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.muted,.sub{color:var(--muted)}.sub{font-size:.875rem}.alpha{display:inline-flex;border:1px solid var(--line);border-radius:6px;padding:2px 9px;color:var(--yellow);font-size:.8125rem}.avatar{display:grid;place-items:center;background:var(--soft);color:var(--blue);width:36px;height:36px;border-radius:50%;font-weight:700;flex-shrink:0}.main{padding:30px 34px;max-width:1600px;margin:auto}.notice{background:var(--soft);color:var(--text);border-right:3px solid #4285f4;padding:12px 16px;border-radius:7px;font-size:.875rem;margin-bottom:24px}.notice.warn{border-color:#fbbc05;background:var(--surface)}h1,h2,h3,p{margin-top:0}h1{font-size:1.8rem;line-height:1.5;margin-bottom:4px}h2{font-size:1.12rem;margin-bottom:18px}h3{font-size:1rem;margin-bottom:6px}.heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:25px}.stat{padding:20px;text-align:right;background:var(--surface);border:1px solid var(--line);border-radius:12px;font-weight:400;position:relative;overflow:hidden}.stat:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--accent,#4285f4)}.stat strong{display:block;font-size:2rem;line-height:1.5;direction:ltr;text-align:right}.stat span{color:var(--muted);font-size:.875rem}.columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:22px}.panel{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:23px;margin-bottom:22px;min-width:0}.panel.flush{padding:0}.panelhead{padding:20px 22px;border-bottom:1px solid var(--line)}.panelhead h2{margin:0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px;min-width:0}.card p{color:var(--muted);font-size:.875rem}.card .row{margin-top:14px}.eyebrow{color:var(--blue);font-size:.8125rem;margin-bottom:10px}.badge{display:inline-block;font-size:.8125rem;background:var(--bg);padding:2px 10px;border-radius:5px;color:var(--muted);white-space:nowrap}.badge.review,.badge.open{color:var(--yellow);background:color-mix(in srgb,#fbbc05 12%,var(--surface))}.badge.done,.badge.accepted{color:var(--green);background:color-mix(in srgb,#34a853 12%,var(--surface))}.badge.working{color:var(--blue);background:var(--soft)}.badge.changes,.badge.cancelled{color:var(--red);background:color-mix(in srgb,#ea4335 10%,var(--surface))}.taskrow{display:flex;align-items:center;gap:15px;padding:17px 22px;border-bottom:1px solid var(--line)}.taskrow:last-child{border-bottom:0}.taskrow .grow{flex:1;min-width:0}.taskrow h3 a{color:var(--text)}.taskrow h3{font-size:.9375rem;font-weight:500}.taskrow .sub{font-size:.8125rem}.taskmark{width:32px;height:32px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;color:var(--blue);flex-shrink:0}.progress{height:7px;background:var(--bg);border-radius:7px;overflow:hidden;margin:12px 0}.progress div{height:100%;background:#4285f4}.mini{padding:15px 0;border-bottom:1px solid var(--line)}.mini:last-child{border:0}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.toolbar input{flex:1;min-width:160px}input,select,textarea{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:9px 12px;color:var(--text);min-width:0;max-width:100%}textarea{min-height:95px;resize:vertical;width:100%}label{font-size:.875rem;display:grid;gap:6px;margin-bottom:14px}label input,label select{width:100%}label.inline{display:flex;align-items:center}label.inline input{width:auto}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.wide{grid-column:1/-1}.empty{text-align:center;padding:40px 20px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:15px;padding:27px;width:min(620px,calc(100% - 28px));max-height:90vh;background:var(--surface);color:var(--text)}dialog::backdrop{background:#060d1e88;backdrop-filter:blur(3px)}dialog h2{font-size:1.35rem}dialog .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.error{color:var(--red);font-size:.875rem}#toast{position:fixed;bottom:24px;left:24px;background:var(--text);color:var(--surface);padding:12px 22px;border-radius:10px;z-index:100;max-width:calc(100% - 48px);display:none}#toast.show{display:block}.detailmeta{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.detailmeta small{display:block;color:var(--muted)}.timeline{border-right:2px solid var(--line);padding-right:18px;margin-top:18px}.timeline article{padding-bottom:20px}.timeline p{margin-bottom:4px;overflow-wrap:anywhere}.voters{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:20px 0}.voter{text-align:center;background:var(--bg);padding:13px 6px;border-radius:9px;font-size:.8125rem}.voter .avatar{margin:0 auto 8px}.policy{font-size:.875rem;color:var(--muted);border-top:1px solid var(--line);padding-top:15px;margin-top:18px}.steps{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.steps span{padding:4px 10px;background:var(--bg);border-radius:5px;font-size:.8125rem}.red{color:var(--red)}.pill{background:var(--soft);padding:4px 10px;border-radius:6px;font-size:.8125rem}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.875rem;text-align:right}th,td{padding:14px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:400;background:var(--bg)}.menu{display:none}footer{color:var(--muted);font-size:.75rem;text-align:center;padding:12px}.feedbacktext{white-space:pre-wrap;overflow-wrap:anywhere}.topbar select{max-width:230px;font-size:.875rem}.topbar label{margin:0}.sectionline{height:1px;background:var(--line);margin:22px 0}.roundtitle{display:block;color:var(--text);font-size:1.12rem;font-weight:700}.widebutton{width:100%;margin-top:12px}.colorbar{height:4px;display:grid;grid-template-columns:repeat(4,1fr)}.colorbar i:nth-child(1){background:#4285f4}.colorbar i:nth-child(2){background:#ea4335}.colorbar i:nth-child(3){background:#fbbc05}.colorbar i:nth-child(4){background:#34a853}@media(max-width:1150px){.layout{grid-template-columns:205px minmax(0,1fr)}.main{padding:25px 22px}.topbar{padding:16px 22px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.columns{grid-template-columns:1fr}.stats{gap:10px}.stat{padding:15px}.voters{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.layout{display:block}.sidebar{display:none;position:fixed;right:0;top:0;width:255px;z-index:30;box-shadow:-20px 0 80px #0006}.sidebar.open{display:flex}.menu{display:block}.topbar{padding:13px 16px;flex-wrap:wrap}.topbar .context{display:none}.topbar .row{gap:8px}.topbar select{max-width:205px}.main{padding:22px 16px}.heading{align-items:flex-start;flex-wrap:wrap}.heading h1{font-size:1.5rem}.stats{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:1fr}.panel{padding:18px}.panel.flush{padding:0}.taskrow{padding:16px 14px;flex-wrap:wrap;gap:10px}.taskrow .grow{min-width:170px}.detailmeta{grid-template-columns:1fr 1fr}.formgrid{grid-template-columns:1fr}.voters{grid-template-columns:repeat(2,1fr)}.notice{font-size:.8125rem}.sidebarfoot{padding-top:20px}dialog{padding:21px}.toolbar>*{width:100%}.toolbar{gap:8px}.topbar .alpha{display:none}.brand{padding-bottom:16px}.sidebar nav{gap:0}.navcaption{margin-top:12px}}.layout>*,.heading>*,.row>*,.cards>*,.columns>*{min-width:0}h1,h2,h3,p,a,.card,.panel,.detailmeta,.notice{overflow-wrap:anywhere}.sidebar{overflow-y:auto}.sidebar nav,.sidebar .brand,.sidebarfoot{flex-shrink:0}.sidebar>.menu{margin-bottom:12px}.formgrid>*{min-width:0}@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s,border-color .15s}}
