:root { color-scheme: light; --ink:#17231f; --muted:#6e7b76; --green:#177a62; --green-soft:#e8f2ee; --line:#dde4e0; --paper:#fff; --bg:#f4f5f1; --danger:#a23a3a; font-family: Inter,system-ui,-apple-system,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--bg); }
button,input,select,textarea { font:inherit; }
button { border:0; border-radius:12px; padding:.78rem 1rem; color:white; background:var(--green); font-weight:700; cursor:pointer; }
button:disabled { opacity:.55; cursor:wait; }
.ghost { color:var(--green); background:transparent; border:1px solid var(--line); }
.shell { width:min(1100px,100%); margin:auto; padding:0 22px 60px; }
.topbar { min-height:82px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:flex; gap:12px; align-items:center; }
.brand>span { width:42px; height:42px; border-radius:11px; background:var(--green); color:white; display:grid; place-items:center; font:italic 700 25px Georgia,serif; }
.brand b,.brand small { display:block; }.brand small { margin-top:2px; color:var(--muted); }
.account { display:flex; align-items:center; gap:12px; }
.card { background:var(--paper); border:1px solid var(--line); border-radius:18px; box-shadow:0 8px 28px #23382e0c; }
.login { width:min(430px,100%); margin:10vh auto; padding:30px; }
.employee-download { width:min(650px,100%); margin:9vh auto; }
.employee-download-card { padding:clamp(28px,6vw,54px); text-align:center; }
.employee-download-card .download-button { justify-content:center; margin-top:12px; }
.release-status { margin:16px 0 0; font-size:13px; }
h1,h2,h3,p { margin-top:0; } h1 { font:700 clamp(30px,5vw,44px) Georgia,serif; margin-bottom:12px; } h2 { font:700 28px Georgia,serif; margin-bottom:7px; }
.eyebrow { margin-bottom:10px; color:var(--green); font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.muted,.section-head p { color:var(--muted); }
form label { display:grid; gap:7px; color:var(--muted); font-size:13px; font-weight:700; }
input,select,textarea { width:100%; padding:13px 14px; color:var(--ink); background:white; border:1px solid var(--line); border-radius:12px; outline:none; }
input:focus,select:focus,textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px #177a6218; }
.login form { display:grid; gap:16px; margin-top:24px; }
.intro { padding:40px 0 20px; display:flex; justify-content:space-between; align-items:end; }
.intro-actions{display:flex;align-items:center;gap:9px}.download-button{display:inline-flex;align-items:center;min-height:45px;padding:.78rem 1rem;border-radius:12px;background:var(--green);color:#fff;font-weight:800;text-decoration:none}.download-button small{margin-left:6px;opacity:.8;font-weight:600}
.tabs { display:flex; gap:8px; padding:6px; background:#e9ece8; border-radius:15px; overflow:auto; }
.tabs button { min-width:max-content; flex:1; color:var(--muted); background:transparent; }.tabs button.active { color:var(--ink); background:white; box-shadow:0 2px 8px #152d2314; }
.panel { display:none; padding-top:30px; }.panel.active { display:block; }
.inline,.grid-form { display:grid; grid-template-columns:1fr 1fr auto; gap:12px; align-items:end; padding:18px; margin:20px 0; }
.grid-form { grid-template-columns:repeat(4,1fr) auto; }
.stack { display:grid; gap:12px; }
.item { padding:18px; }.item-head { display:flex; justify-content:space-between; gap:14px; align-items:start; }.item h3 { margin-bottom:5px; }.meta { color:var(--muted); font-size:13px; }
.item-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:14px; }
.item-actions .danger,.danger { color:white; background:var(--danger); }
.item-actions .ghost { color:var(--green); background:white; }
.manage-grid { display:grid; grid-template-columns:1.2fr 1.8fr auto; gap:10px; align-items:end; margin-top:15px; }
.catalog-checks { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
.catalog-checks label { display:flex; align-items:center; gap:6px; padding:8px 10px; color:var(--ink); background:var(--green-soft); border-radius:10px; font-size:13px; }
.catalog-checks input { width:auto; }
.report-open { width:100%; text-align:left; color:var(--ink); background:white; padding:0; }
.report-open:hover h3 { color:var(--green); }
.members { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }.member { display:flex; gap:8px; align-items:center; padding:9px 11px; border-radius:11px; background:var(--green-soft); color:var(--ink); font-size:14px; }.member input { width:auto; }
.catalog-map-card { margin:20px 0; padding:18px; }
.catalog-map-head { display:flex; justify-content:space-between; align-items:end; gap:18px; margin-bottom:14px; }
.catalog-map-head h3 { margin-bottom:5px; }
.catalog-map-head p { margin-bottom:0; }
.catalog-map-head label { width:min(330px,100%); display:grid; gap:7px; color:var(--muted); font-size:13px; font-weight:700; }
.catalog-map { height:min(52vh,520px); min-height:360px; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#e7ece8; }
.catalog-map-legend { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.map-legend-item { display:flex; align-items:center; gap:8px; padding:8px 11px; border-radius:10px; background:var(--green-soft); font-size:13px; }
.map-legend-item i { width:18px; height:5px; border-radius:5px; background:var(--route-color); }
.badge { display:inline-flex; padding:5px 9px; border-radius:99px; color:var(--green); background:var(--green-soft); font-size:12px; font-weight:800; }
.empty { padding:28px; text-align:center; color:var(--muted); border:1px dashed #cbd4cf; border-radius:16px; }
.toast { position:fixed; left:50%; bottom:24px; transform:translate(-50%,120px); max-width:calc(100% - 30px); padding:13px 18px; border-radius:12px; color:white; background:#17231f; opacity:0; transition:.2s; }.toast.show { opacity:1; transform:translate(-50%,0); }.toast.error { background:var(--danger); }
.hidden { display:none!important; }
.modal { position:fixed; inset:0; z-index:1000; padding:20px; overflow:auto; background:#17231fd9; }
.modal-card { width:min(1050px,100%); margin:auto; padding:22px; background:var(--paper); border-radius:20px; box-shadow:0 25px 80px #0004; }
.modal-head { display:flex; justify-content:space-between; gap:18px; align-items:start; }
.modal-head h2 { margin-bottom:5px; }
.report-map { height:min(52vh,520px); min-height:330px; margin:12px 0 18px; border:1px solid var(--line); border-radius:16px; overflow:hidden; }
.report-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:24px; }
.report-summary span { padding:13px; background:var(--green-soft); border-radius:12px; }
.report-summary small,.report-summary strong { display:block; }.report-summary small { color:var(--muted); margin-bottom:4px; }
.report-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:24px; }
.report-detail { padding:14px; border:1px solid var(--line); border-left:5px solid var(--detail-color,var(--green)); border-radius:13px; }
.report-detail h4 { margin:0 0 5px; }.report-detail p { color:var(--muted); white-space:pre-wrap; }
.report-promote { display:grid; grid-template-columns:1.1fr 1fr; gap:14px 20px; align-items:end; margin:0 0 24px; padding:18px; border:1px solid #bcd6cc; border-radius:16px; background:var(--green-soft); }
.report-promote h3,.report-promote p { margin-bottom:6px; }
.report-promote>label { display:grid; gap:7px; color:var(--muted); font-size:13px; font-weight:700; }
.report-promote fieldset { grid-column:1/-1; margin:0; padding:0; border:0; }
.report-promote legend { color:var(--muted); font-size:13px; font-weight:700; }
.report-promote .catalog-checks label { background:white; border:1px solid var(--line); }
.promote-actions { grid-column:1/-1; display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:8px; margin-top:10px; }
.gallery a { display:block; aspect-ratio:1; overflow:hidden; border-radius:10px; background:var(--green-soft); }
.gallery img { width:100%; height:100%; object-fit:cover; }
@media (max-width:760px) { .shell{padding:0 14px 40px}.account span{display:none}.intro{padding-top:26px;align-items:stretch;gap:14px}.intro-actions{flex-direction:column;align-items:stretch}.download-button{justify-content:center}.inline,.grid-form,.manage-grid,.report-promote{grid-template-columns:1fr}.item-head,.modal-head,.catalog-map-head{display:block}.catalog-map-head label{margin-top:14px}.catalog-map{height:50vh;min-height:320px}.item-head .badge{margin-top:8px}.modal{padding:0}.modal-card{min-height:100%;border-radius:0;padding:14px}.modal-head button{margin-bottom:10px}.report-map{min-height:300px}.report-summary,.report-details{grid-template-columns:1fr 1fr} }
