@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/InterVariable.woff2) format("woff2")}:root{--ink: #202b30;--muted: #748084;--accent: #df754c;--surface: #fff;--canvas: #f5f6f3;--line: #e1e5e0;--blue: #4975c9;--green: #3f8169;--red: #bf4e47;font-family:Inter,Segoe UI,sans-serif;color:var(--ink);background:var(--canvas);font-size:14px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.5}:is(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #e6a07f;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1.1px;font-weight:600;line-height:1.2;margin-bottom:10px}h2{font-size:19px;letter-spacing:-.45px;font-weight:600}h3{font-size:15px;font-weight:600}p{line-height:1.65}.muted{color:var(--muted)}.eyebrow{font-size:12px;color:var(--muted);font-weight:500;margin-bottom:12px}.page{max-width:1440px;margin:auto;padding:36px 38px 44px;animation:page-in .2s ease-out}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:30px}.page-heading p{color:var(--muted);margin:0}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 15px;font-size:12px;font-weight:600;line-height:1.4;min-height:39px;transition:background .15s,transform .15s}.btn:hover{background:#f0f2ef}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:#c76039}.btn.secondary{background:var(--surface)}.btn.ghost{background:transparent;border-color:transparent}.btn.danger{color:var(--red);border-color:#efcfcc}.btn.small{padding:7px 11px;min-height:32px}.btn.icon-only{padding:9px;min-width:38px}.btn app-icon{width:16px;height:16px}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:5px;background:#eef1ed;color:#607269;font-size:10px;font-weight:600;line-height:1.2;white-space:nowrap}.badge.green,.badge.merged,.badge.published{background:#eaf3ed;color:#39745d}.badge.orange,.badge.draft{background:#fff0e6;color:#b8653e}.badge.blue,.badge.submitted{background:#eaf0fc;color:#5276b9}.badge.red,.badge.rejected{background:#faeae8;color:#b45850}.badge.archived{background:#eeefee;color:#7a8281}.badge.changes-requested{background:#fff2d6;color:#997526}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:21px 23px;border-bottom:1px solid var(--line);gap:12px}.panel-heading h2,.panel-heading h3{margin:0}.panel-body{padding:24px}.field{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:500;margin-bottom:18px}.field input,.field select,.field textarea,.input{width:100%;min-height:42px;background:#fff;color:var(--ink);border:1px solid #dce1dc;border-radius:7px;padding:10px 12px}.field textarea{resize:vertical;min-height:90px}.field small{color:var(--muted);font-weight:400}.field-error{font-size:12px;color:var(--red);margin:4px 0 12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.span-2{grid-column:1/-1}.empty{padding:50px 24px;text-align:center;color:var(--muted)}.empty app-icon{width:32px;height:32px;margin-bottom:12px}.empty h3{color:var(--ink);font-size:17px;margin-bottom:6px}.empty p{font-size:13px;margin-bottom:18px}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:24px;overflow:auto}.tabs button,.tabs a{padding:14px 1px;border:0;border-bottom:2px solid transparent;color:var(--muted);background:none;font-size:12px;font-weight:500;white-space:nowrap}.tabs .active{color:var(--accent);border-bottom-color:var(--accent)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}th{font-size:10px;font-weight:500;color:var(--muted);padding:13px 23px;background:#fafbf8;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:18px 23px;border-bottom:1px solid #edf0eb;font-size:12px}tr:last-child td{border-bottom:0}td strong{display:block;font-size:12px;margin-bottom:4px;font-weight:600}td small{display:block;font-size:10px;color:var(--muted)}tbody tr:hover{background:#fbfcf9}.table-link:hover{color:var(--accent)}.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#eee9e1;color:#756354;font-size:11px;font-weight:600;flex-shrink:0}.notice{padding:13px 16px;border:1px solid #e6dec8;background:#fff9e9;color:#856b39;border-radius:8px;font-size:12px;line-height:1.6;margin:16px 0;display:flex;align-items:flex-start;gap:10px}.notice.error{background:#fff1ef;color:#a84d44;border-color:#eed0c9}.notice.info{background:#f0f5fd;color:#5c749c;border-color:#dae4f5}.section-title{display:flex;align-items:center;justify-content:space-between;margin:29px 0 18px}.section-title h2{margin:0}.section-title a{font-size:12px;color:var(--muted)}.filters{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:22px;flex-wrap:wrap}.search-input{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 12px;min-width:260px}.search-input app-icon{width:17px;color:var(--muted)}.search-input input{padding:11px 0;border:0;outline:none;background:none;width:100%;font-size:12px;color:var(--ink)}.segmented{display:flex;padding:3px;background:#eceedf;border-radius:7px;gap:3px}.segmented button{padding:8px 12px;border:0;background:transparent;border-radius:5px;color:var(--muted);font-size:11px}.segmented .active{background:#fff;color:var(--ink);box-shadow:0 1px 3px #19251510}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.progress-track{height:5px;border-radius:9px;background:#edf0eb;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--accent);border-radius:9px}.link{color:var(--accent);font-size:12px;font-weight:500}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:6px}.count{font-size:11px;color:var(--muted);margin-left:7px}.modal-backdrop{position:fixed;inset:0;background:#15232266;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:90;display:grid;place-items:center;padding:20px}.modal{background:#fff;border-radius:14px;padding:28px;width:min(540px,100%);max-height:90vh;overflow:auto;box-shadow:0 24px 90px #0002;animation:modal-in .18s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.modal-header h2{margin:0}.modal-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}dialog.modal{border:0;margin:auto}dialog::backdrop{background:#15232266;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.check-row{display:flex;gap:9px;align-items:center;font-size:12px;line-height:1.6}.check-row input{accent-color:var(--accent);width:16px;height:16px}.timeline{list-style:none;padding:0;margin:0}.timeline li{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid #eef0ec}.timeline li:last-child{border:0}.timeline .dot{width:30px;height:30px;background:#f0f2ed;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.timeline .dot app-icon{width:14px}.timeline strong{display:block;font-size:12px;font-weight:500}.timeline p{font-size:11px;color:var(--muted);margin:4px 0}.timeline time{display:block;font-size:10px;color:#95a09c}.map-preview{background:#f4f5f0;overflow:hidden;position:relative;aspect-ratio:1.6}.map-preview app-map-canvas{display:block;width:100%;height:100%}.target-card{overflow:hidden;transition:box-shadow .15s,transform .15s}.target-card:hover{box-shadow:0 5px 20px #23322b09;transform:translateY(-2px)}.target-card .card-body{padding:18px 20px}.target-card h3{margin:0 0 6px;font-size:14px}.target-card .card-body p{color:var(--muted);font-size:11px;margin:0 0 17px}.card-meta{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted)}.map-tag{position:absolute;top:14px;left:14px;padding:5px 9px;background:#ffffffeb;border-radius:5px;font-size:10px;z-index:2}.map-preview>.badge{position:absolute;right:14px;top:14px;z-index:2}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px}.metric{padding:21px 23px}.metric-label{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}.metric app-icon{width:17px;color:#93a198}.metric strong{font-size:30px;font-weight:500;letter-spacing:-1.3px;display:block;margin:18px 0 9px}.metric small{font-size:10px;color:var(--muted)}.metric small em{color:var(--green);font-style:normal}.two-columns{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:23px}.subtle-label{color:var(--muted);font-size:11px}.step-number{width:27px;height:27px;display:grid;place-items:center;background:#fff0e7;color:var(--accent);border-radius:7px;font-size:12px;font-weight:600}.inline-code{font:11px monospace;background:#f0f2ee;padding:3px 5px;border-radius:3px}.text-danger{color:var(--red)}.storage-warning{background:#fff2d5;padding:10px 24px;color:#876421;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1100px){.page{padding:28px 25px}.two-columns{grid-template-columns:1fr}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{gap:10px}.metric{padding:18px 16px}}@media(max-width:700px){.page{padding:24px 18px}.page-heading{gap:16px;flex-direction:column;margin-bottom:23px}h1{font-size:26px}.metrics{grid-template-columns:1fr 1fr}.grid-3,.grid-2,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.filters{align-items:stretch}.search-input{width:100%;min-width:0}.panel-heading,.panel-body{padding:18px}th,td{padding:14px 16px}.actions{gap:7px}.modal{padding:22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
