body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body{background:#f4f7fb;font-family:Inter,Helvetica Neue,Arial,sans-serif;margin:0}.container{margin:0 auto;max-width:1100px;padding:20px}.card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;margin-bottom:16px;padding:18px}input,select,textarea{border:1px solid #d6d6d6;border-radius:8px;box-sizing:border-box;margin-bottom:14px;margin-top:6px;padding:12px;width:100%}button{border:none;border-radius:8px;cursor:pointer;font-weight:700;padding:12px 16px}.btn-primary{background:#0d6efd;color:#fff}.btn-success{background:#198754;color:#fff}.btn-danger{background:#dc3545;color:#fff}.btn-dark{background:#212529;color:#fff}.btn-warning{background:#ffc107;color:#000}.row{display:flex;flex-wrap:wrap;gap:12px}.col{flex:1 1;min-width:250px}.upload-row{align-items:stretch}.upload-row .col{display:flex}.upload-row .card{display:flex;flex-direction:column;margin-bottom:0;width:100%}.upload-card{border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 26px #0f172a0f;gap:10px}.upload-card h3{color:#0f172a;font-size:24px;line-height:1.25;margin:0}.upload-card input[type=file]{background:#f8fafc;border-color:#cbd5e1;border-radius:14px;margin:0}.upload-card .btn-primary,.upload-card .btn-secondary,.upload-card .btn-success{border-radius:14px;font-size:15px;font-weight:800;padding:13px 16px;width:100%}.upload-dual-actions{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.upload-note{background:#f8fafc;border:1px dashed #d4dbe6;border-radius:12px;color:#475569;font-size:13px;line-height:1.45;margin:0;padding:10px 12px}.upload-manage{margin-top:auto;padding-top:2px}.upload-manage .chip{font-weight:700;min-width:160px}.upload-card-wide{min-height:290px}@media (max-width:900px){.upload-dual-actions{grid-template-columns:1fr}}.topbar{background:#111827;color:#fff;padding:16px 20px}.topbar h2{margin:0}.project-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.status-available{background:#fff;border-left:6px solid #999}.status-booked{background:#d1fae5;border-left:6px solid #22c55e}.status-sold{background:#fee2e2;border-left:6px solid #ef4444}.table{background:#fff;border-collapse:collapse;width:100%}.table td,.table th{border:1px solid #ddd;padding:12px;text-align:left}.plots-table-wrap{background:#fff;border:1px solid #d9e0ea;border-radius:10px;max-height:620px;overflow:auto}.small-btn{margin-right:8px;padding:8px 10px}.brand-login{align-items:center;display:flex;flex-direction:column;margin-bottom:8px}.brand-login-logo{height:auto;margin-bottom:6px;width:150px}.agf-plot-shape:hover{filter:brightness(.95);filter:brightness(.96);opacity:.8;opacity:.85}#plot-overlay path:hover,#plot-overlay polygon:hover,#plot-overlay rect:hover{opacity:.85}svg{height:auto;max-width:100%}.map-wrapper{background:#fff;border:1px solid #ddd;border-radius:10px;max-height:700px;min-height:400px;overflow:auto;padding:12px;position:relative}.map-surface{min-height:360px}.plot-overlay{align-items:center;background:#00000040;display:flex;inset:0;justify-content:center;padding:16px;position:absolute;z-index:5}.plot-overlay__panel{background:#f8fafc;border-radius:12px;box-shadow:0 8px 26px #0000002e;max-width:90%;padding:16px;width:380px}.plot-overlay__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.overlay-close{background:#0000;color:#111827;font-size:22px;line-height:1;padding:4px 8px}.dash-shell{background:#e9eef5;display:grid;grid-template-columns:240px 1fr;min-height:100vh}.dash-sidebar{align-self:start;background:#0f172a;box-sizing:border-box;color:#e2e8f0;display:flex;flex-direction:column;gap:18px;height:100vh;overflow-y:auto;padding:24px 18px;position:sticky;top:0}.dash-logo{color:#fff;font-size:22px;font-weight:800;letter-spacing:1px}.dash-nav-item{align-items:center;border-radius:10px;color:#cbd5e1;cursor:pointer;display:flex;gap:12px;padding:10px 12px;transition:background .15s,color .15s}.dash-nav-item .dot{background:#94a3b8;border-radius:4px;height:8px;width:8px}.dash-nav-item.active,.dash-nav-item:hover{background:#111c34;color:#fff}.dash-nav-item.active .dot,.dash-nav-item:hover .dot{background:#22c55e}.dash-logout{background:#dc2626;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;margin-top:auto;padding:12px}.dash-main{box-sizing:border-box;min-width:0;overflow-x:auto;padding:24px}.dash-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:18px}.dash-welcome{color:#64748b;font-weight:600;margin:0}.dash-filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.chip{background:#eef2f7;border:1px solid #d7dce3;border-radius:999px;color:#0f172a;cursor:pointer;font-weight:600;padding:8px 12px}.chip.dark{background:#111c34;border-color:#111c34;color:#fff}.chip.danger{background:#dc2626;border-color:#dc2626;color:#fff}.dash-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:2fr 1fr}.dash-card{background:#fff;border-radius:14px;box-shadow:0 8px 24px #0f172a0f;padding:16px}.dash-card.wide{grid-column:1/2}.dash-card-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.bar-chart{grid-gap:6px;align-items:end;display:grid;gap:6px;grid-template-columns:repeat(12,1fr);height:220px}.bar{align-items:center;display:flex;flex-direction:column;gap:6px}.bar-fill{background:#0f172a;border-radius:6px 6px 4px 4px;min-height:20px;transition:height .2s;width:16px}.bar-label{color:#475569;font-size:11px}.donut{align-items:center;display:flex;gap:12px;position:relative}.donut-ring{background:conic-gradient(#22c55e 0 60%,#2563eb 60% 80%,#e2e8f0 80% 100%);border-radius:60px;height:120px;position:relative;width:120px}.donut-ring:after{background:#fff;border-radius:999px;content:"";inset:18px;position:absolute}.donut-center{align-items:center;color:#0f172a;display:flex;font-weight:800;inset:0;justify-content:center;position:absolute}.legend{grid-gap:6px;color:#475569;display:grid;gap:6px;margin-top:12px}.legend-dot{border-radius:5px;display:inline-block;height:10px;margin-right:6px;width:10px}.legend-dot.green{background:#22c55e}.legend-dot.blue{background:#2563eb}.legend-dot.gray{background:#cbd5e1}.kpi-list{display:flex;flex-direction:column;gap:12px}.kpi-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:120px 1fr}.kpi-name{color:#0f172a;font-weight:700}.kpi-bar{background:#e2e8f0;border-radius:10px;display:flex;height:16px;overflow:hidden}.kpi-seg{height:100%}.seg-0{background:#111c34}.seg-1{background:#22c55e}.seg-2{background:#fbbf24}.seg-3{background:#ef4444}.project-list-card input{border:1px solid #d7dce3;border-radius:10px;font-size:14px;padding:10px 12px;width:240px}.project-list{display:flex;flex-direction:column;gap:12px}.project-row{grid-gap:12px;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 6px 18px #0f172a0d;display:grid;gap:12px;grid-template-columns:64px 1fr auto;padding:10px 12px}.project-thumb{border:1px solid #e2e8f0;border-radius:10px;height:64px;object-fit:cover;width:64px}.project-meta{display:flex;flex-direction:column;gap:4px}.project-name{color:#0f172a;font-weight:700}.project-area{color:#475569;font-size:13px}.arrow-btn{background:#0f172a;border:none;border-radius:12px;color:#fff;cursor:pointer;height:32px;padding:8px 12px}.project-empty{color:#6b7280;padding:16px 0;text-align:center}.pagination{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 6px 18px #0f172a0d;display:flex;gap:12px;justify-content:center;margin-top:16px;padding:10px 12px}.page-indicator{color:#0f172a;font-weight:700}.form-grid{grid-gap:14px 16px;display:grid;gap:14px 16px;grid-template-columns:repeat(2,minmax(240px,1fr))}.form-field{display:flex;flex-direction:column;gap:6px}.form-field input,.form-field textarea{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;padding:10px 12px}.form-field textarea{resize:vertical}.form-field label{color:#0f172a;font-weight:700}.form-field.span-2{grid-column:span 2}.form-actions{display:flex;gap:10px;grid-column:span 2;justify-content:flex-end;margin-top:6px}.partner-list{display:flex;flex-direction:column;gap:10px}.partner-row{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;justify-content:space-between;padding:10px 12px}.partner-meta{display:flex;flex-direction:column;gap:4px}.partner-name{color:#0f172a;font-weight:700}.partner-sub{color:#475569;font-size:13px}.partner-actions{display:flex;gap:8px}.partner-actions .chip:first-child{background:#0a7ea4;border:none;color:#fff}.modal-backdrop{align-items:center;background:#0f172a73;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:999}.modal-card{background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000029;max-height:90vh;overflow-y:auto;padding:20px;width:min(720px,96vw)}.modal-head{justify-content:space-between;margin-bottom:12px}.input-eye-wrap,.modal-head{align-items:center;display:flex}.input-eye-wrap{position:relative}.eye-btn{background:none;border:none;cursor:pointer;font-size:16px;position:absolute;right:10px}.input-eye-wrap input{padding-right:44px;width:100%}.eye-btn-circle{background:#f8fafc;border:1px solid #d4dbe8;border-radius:14px;display:grid;height:28px;place-items:center;transition:all .2s ease;width:28px}.eye-btn-circle:hover{background:#eef2ff;border-color:#c0c9e0}.eye-ico{color:#0f172a;height:18px;width:18px}.eye-btn-plain{background:none;border:none;color:#2563eb;cursor:pointer;font-weight:700;padding:0 6px}.eye-text{font-size:13px}.booking-list{display:flex;flex-direction:column;gap:10px}.booking-group{margin-bottom:16px}.booking-group-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.booking-count{background:#eef2ff;border-radius:10px;color:#475569;font-size:12px;padding:4px 8px}.booking-row{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;justify-content:space-between;padding:14px}.booking-main{display:flex;flex-direction:column;gap:4px}.booking-title{color:#0f172a;font-weight:700}.booking-sub{color:#475569;font-size:13px}.booking-meta{align-items:flex-end;display:flex;flex-direction:column;gap:8px;min-width:120px}.badge{border-radius:12px;font-size:12px;padding:6px 10px}.amount,.badge{font-weight:700}.amount{color:#0f172a}@media (max-width:768px){.dash-shell{grid-template-columns:1fr}.dash-sidebar{align-items:center;flex-direction:row;height:auto;overflow-x:auto;overflow-y:visible;position:static}.dash-logout{display:none}.dash-grid{grid-template-columns:1fr}}.upload-dropdown-panel,.upload-grid-table{background:#fff;border:1px solid #d9e0ef;border-radius:10px;margin-top:10px;overflow:hidden}.upload-dropdown-panel{box-shadow:0 2px 8px #0f172a0d}.upload-dropdown-head{background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:flex-end;padding:10px 12px}.upload-empty{color:#64748b;font-size:13px;padding:12px}.upload-grid-head,.upload-grid-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;padding:10px 12px}.upload-grid-head.with-preview,.upload-grid-row.with-preview{grid-template-columns:64px minmax(0,1fr) auto}.upload-grid-head{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#334155;font-size:12px;font-weight:800}.upload-grid-row{border-bottom:1px solid #f1f5f9}.upload-grid-body .upload-grid-row:last-child{border-bottom:none}.upload-actions-head{text-align:right}.upload-preview{border:1px solid #e2e8f0;border-radius:6px;height:40px;object-fit:cover;width:54px}.upload-file-name{color:#475569;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-actions{display:flex;gap:6px;justify-content:flex-end}.file-manager-modal{width:min(860px,96vw)}.file-manager-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:10px}.file-manager-selected{color:#475569;font-size:12px}.file-manager-list{background:#fff;border:1px solid #d9e0ef;border-radius:10px;max-height:56vh;overflow:auto}@media (max-width:640px){.upload-grid-head,.upload-grid-head.with-preview,.upload-grid-row,.upload-grid-row.with-preview{gap:8px;grid-template-columns:1fr}.upload-actions-head{text-align:left}.upload-actions{justify-content:flex-start}.file-manager-toolbar{align-items:flex-start}}
/*# sourceMappingURL=main.8860ae4a.css.map*/