:root{--bg:#f6f7f9;--panel:#ffffff;--panel-2:#eef0f3;--panel-highlight:#fdeee2;--border:#d8dde3;--text:#111418;--muted:#5c6672;--accent:#ce4d12;--accent-ink:#ffffff;--good:#1a7f37;--warn:#9a6700;--bad:#cf222e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1120px;margin:0 auto;padding:24px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:20px;box-shadow:0 1px 2px rgba(16,24,40,.05)}.panel+.panel{margin-top:16px}h1,h2,h3{margin:0 0 12px}.muted{color:var(--muted)}.small{font-size:13px}.btn{display:inline-block;background:var(--accent);color:var(--accent-ink);border:none;border-radius:8px;padding:10px 18px;font-size:15px;cursor:pointer;font-weight:600}.btn:hover{filter:brightness(1.08);text-decoration:none}.btn-secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}.btn-danger{background:var(--bad)}label{display:block;margin:12px 0 4px;font-weight:600}input,select,textarea{width:100%;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:10px 12px;font-size:15px}input::placeholder,textarea::placeholder{color:#8a94a3}textarea{min-height:90px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent)}.form-error{background:rgba(207,34,46,.08);border:1px solid var(--bad);border-radius:8px}.form-error,.form-success{padding:10px 14px;margin:12px 0}.form-success{background:rgba(26,127,55,.08);border:1px solid var(--good);border-radius:8px}table.data{width:100%;border-collapse:collapse}table.data td,table.data th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}table.data th{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.04em}.nav{display:flex;gap:4px;align-items:center;padding:12px 24px;background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap}.nav a{color:var(--text);padding:8px 12px;border-radius:8px;font-weight:600}.nav a.active,.nav a:hover{background:var(--panel-2);text-decoration:none}.nav .brand{color:var(--accent);font-size:18px;font-weight:800;margin-right:16px}.nav .spacer{flex:1 1}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--panel-2);border:1px solid var(--border)}.badge-owner{border-color:var(--accent);color:var(--accent)}.badge-admin{border-color:var(--warn);color:var(--warn)}.badge-advisor{border-color:var(--good);color:var(--good)}.badge-tech{border-color:#0969da;color:#0969da}.grid{display:grid;grid-gap:16px;gap:16px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stat .value{font-size:28px;font-weight:800}.stat .label{color:var(--muted);font-size:13px}.row-actions{display:flex;gap:8px}.topbar{display:none}.sidebar{position:fixed;left:0;top:0;bottom:0;width:248px;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:60}.sidebar-brand{padding:16px 20px 8px}.sidebar-brand a{color:var(--accent);font-size:20px;font-weight:800;text-decoration:none}.sidebar-nav{flex:1 1;overflow-y:auto;padding:8px 12px 16px}.nav-group{margin-bottom:2px}.nav-group-label{display:flex;align-items:center;gap:6px;width:100%;background:none;border:none;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:10px 8px 6px;cursor:pointer}.nav-group-label .chevron{display:inline-block;transition:transform .15s;font-size:10px}.nav-group-label .chevron.down{transform:rotate(90deg)}.nav-group-items{display:flex;flex-direction:column;gap:2px;padding-left:14px}.nav-group-items a{color:var(--text);padding:8px 12px;border-radius:8px;font-weight:600;text-decoration:none}.nav-group-items a:hover{background:var(--panel-2)}.nav-group-items a.active{background:var(--panel-2);color:var(--accent)}.sidebar-footer{border-top:1px solid var(--border);padding:12px 20px 16px;display:flex;flex-direction:column;gap:8px}.sidebar-footer .btn{width:100%}.main{margin-left:248px;min-height:100vh}.scrim{display:none}@media (max-width:860px){.topbar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:50}.topbar .brand{color:var(--accent);font-size:18px;font-weight:800;text-decoration:none}.topbar .spacer{flex:1 1}.hamburger{background:none;border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:18px;padding:6px 10px;cursor:pointer}.sidebar{transform:translateX(-105%);transition:transform .2s ease;width:280px}.sidebar.open{transform:none;box-shadow:0 0 40px rgba(0,0,0,.25)}.scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:55}.main{margin-left:0}}.settings-subnav{display:flex;gap:8px;overflow-x:auto;padding:8px 2px 16px}.settings-subnav a{white-space:nowrap;padding:6px 12px;border:1px solid var(--border);border-radius:999px;color:var(--text);font-size:13px;font-weight:600;text-decoration:none;background:var(--panel)}.settings-subnav a:hover{border-color:var(--accent);color:var(--accent)}.panel[id]{scroll-margin-top:70px}.ro-page{padding-bottom:32px}.ro-layout{max-width:1360px;margin:0 auto}.ro-info,.ro-layout,.ro-work{display:flex;flex-direction:column;gap:16px;min-width:0}.ro-info>.panel+.panel,.ro-rail+.ro-work,.ro-work>.panel+.panel{margin-top:0}.ro-rail{min-width:0}.ro-fields{display:grid;grid-gap:10px 16px;gap:10px 16px;grid-template-columns:repeat(2,minmax(0,1fr))}.ro-fields>div{min-width:0}.ro-fields>div>div:last-child{overflow-wrap:anywhere}@media (min-width:640px){.ro-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}.ro-edge-tabs{position:fixed;right:0;top:176px;z-index:80;gap:10px}.ro-edge-tab,.ro-edge-tabs{display:flex;flex-direction:column}.ro-edge-tab{align-items:center;gap:8px;background:#16181d;color:#fff;border:none;cursor:pointer;border-radius:10px 0 0 10px;padding:16px 7px;font-size:13px;font-weight:700;letter-spacing:.04em;box-shadow:-2px 2px 10px rgba(0,0,0,.28)}.ro-edge-tab:hover{background:#23262d}.ro-edge-tab.is-open{background:var(--accent)}.ro-edge-tab-label{writing-mode:vertical-rl;transform:rotate(180deg)}.ro-edge-tab-count{background:var(--accent);color:#fff;border-radius:999px;min-width:20px;height:20px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;line-height:1}.ro-edge-tab.is-open .ro-edge-tab-count{background:#fff;color:var(--accent)}.ro-drawer-backdrop{position:fixed;inset:0;z-index:90;background:rgba(15,17,20,.42)}.ro-drawer{position:absolute;top:0;right:0;height:100%;width:min(430px,94vw);background:var(--panel);box-shadow:-12px 0 32px rgba(0,0,0,.25);display:flex;flex-direction:column;animation:ro-drawer-in .18s ease-out}@keyframes ro-drawer-in{0%{transform:translateX(48px);opacity:.4}to{transform:none;opacity:1}}.ro-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.ro-drawer-body{padding:16px;overflow-y:auto;flex:1 1}.table-scroll{overflow-x:auto;margin:0 -4px;padding:0 4px}.table-scroll>table.data{min-width:600px}.ro-footerbar{box-shadow:0 -6px 18px rgba(0,0,0,.12)}.ro-stack{display:flex;flex-direction:column;gap:12px;min-width:0;max-width:940px;margin:0 auto}.ro-stack>.panel+.panel{margin-top:0}.ro-card-head{display:flex;align-items:center;gap:12px;width:100%;padding:0;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer;min-width:0}.ro-card-icon{font-size:20px;line-height:1;flex:none}.ro-card-title{font-weight:700;font-size:16px;min-width:0;overflow-wrap:anywhere}.ro-card-summary{margin-left:auto;flex:none;font-size:13px;color:var(--muted);text-align:right;overflow-wrap:anywhere;max-width:55%}.ro-card-chevron{flex:none;color:var(--muted);transition:transform .15s ease;font-size:18px}.ro-card.open .ro-card-chevron{transform:rotate(180deg)}.ro-card-body{margin-top:12px;min-width:0}.ro-line{border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:10px;min-width:0;background:var(--panel-2)}.ro-line-top{display:flex;gap:12px;align-items:flex-start;min-width:0}.ro-line-main{flex:1 1;min-width:0}.ro-line-desc{font-weight:600;margin-top:6px;overflow-wrap:anywhere}.ro-line-amt{flex:none;font-weight:800;font-size:16px}.ro-line-actions{margin-top:8px;display:flex;gap:8px}.ro-subtotal{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-weight:800;padding-top:10px;margin-top:4px;border-top:1px solid var(--border)}.ro-add{margin-top:10px}.ro-add>summary{cursor:pointer;color:var(--accent);font-weight:600;font-size:14px;list-style:none}.ro-add>summary::-webkit-details-marker{display:none}.ro-add>summary:before{content:"+ "}.ro-add[open]>summary{margin-bottom:12px}.jobs-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.jobs-new{font-size:16px;padding:10px 18px}.jobs-tabs{display:flex;gap:20px;flex-wrap:wrap;border-bottom:1px solid var(--border);margin-bottom:14px}.jobs-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 2px;color:var(--text);text-decoration:none;font-weight:600;border-bottom:3px solid transparent;margin-bottom:-1px}.jobs-tab.active,.jobs-tab:hover{color:var(--accent)}.jobs-tab.active{border-bottom-color:var(--accent)}.jobs-count{display:inline-block;min-width:26px;text-align:center;padding:1px 6px;border:1px solid var(--border);border-radius:6px;background:var(--panel-2);font-size:13px;font-weight:700}.jobs-tab.active .jobs-count{border-color:var(--accent);color:var(--accent)}.jobs-search{display:flex;gap:8px;margin-bottom:14px}.jobs-search input[type=search]{flex:1 1}.jobs-table td a{font-weight:600}.jobs-pager{display:flex;gap:8px;align-items:center;margin-top:12px}.ro-sumrow{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;min-width:0}.ro-sumrow>span:last-child{flex:none}.ro-sumrow.grand{font-size:18px;font-weight:800;border-top:1px solid var(--border);padding-top:10px;margin-top:4px}