:root{color-scheme:light;--font-sans:"Space Grotesk","Avenir Next","Segoe UI","Helvetica Neue",Arial,"Noto Sans",sans-serif;--font-display:"Orbitron","Avenir Next Condensed","Trebuchet MS","Segoe UI","Helvetica Neue",sans-serif;--bg-0:#eef9ff;--bg-1:#dff4ff;--bg-2:#f8fdff;--surface:rgba(255,255,255,0.72);--surface-strong:rgba(255,255,255,0.88);--surface-invert:#0e243a;--ink:#0b1e35;--muted:#4c6583;--brand:#00b8d9;--brand-strong:#0071d8;--accent:#00d4ad;--border:rgba(8,46,80,0.16);--border-strong:rgba(8,46,80,0.28);--ok-bg:#dcfff4;--ok-ink:#04553e;--ok-border:rgba(0,140,103,0.34);--err-bg:#ffe6ea;--err-ink:#7f1120;--err-border:rgba(175,24,49,0.34);--shadow-sm:0 8px 24px rgba(6,22,46,0.08);--shadow-md:0 18px 45px rgba(6,22,46,0.13);--shadow-lg:0 32px 85px rgba(6,22,46,0.18);--radius-sm:12px;--radius-md:18px;--radius-lg:26px;--focus:0 0 0 3px rgba(0,174,222,0.28)}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100vh}body{position:relative;color:var(--ink);font-family:var(--font-sans,"Space Grotesk","Segoe UI",sans-serif);background:radial-gradient(1300px 850px at 8% 6%,rgba(33,160,255,.18) 0,transparent 55%),radial-gradient(900px 700px at 94% 3%,rgba(0,208,179,.15) 0,transparent 50%),radial-gradient(900px 700px at 72% 100%,rgba(255,146,62,.11) 0,transparent 55%),linear-gradient(165deg,var(--bg-0) 0,var(--bg-1) 42%,var(--bg-2) 100%);background-size:140% 140%,125% 125%,130% 130%,100% 100%;animation:background-drift 30s ease-in-out infinite alternate;overflow-x:hidden}body:after,body:before{content:"";position:fixed;pointer-events:none;z-index:-1}body:before{width:54vmax;height:54vmax;top:-24vmax;right:-17vmax;background:radial-gradient(circle at center,rgba(0,190,255,.2),transparent 62%);animation:float-orb 22s ease-in-out infinite}body:after{width:48vmax;height:48vmax;bottom:-24vmax;left:-12vmax;background:radial-gradient(circle at center,rgba(0,214,170,.16),transparent 68%);animation:float-orb-reverse 26s ease-in-out infinite}@keyframes float-orb{0%,to{transform:translate(0)}50%{transform:translate(-2.8%,4.6%)}}@keyframes float-orb-reverse{0%,to{transform:translate(0)}50%{transform:translate(4.2%,-3.4%)}}@keyframes surface-enter{0%{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes background-drift{0%{background-position:8% 6%,94% 3%,72% 100%,0 0}to{background-position:3% 10%,86% 8%,79% 95%,0 0}}@keyframes button-shine{0%{transform:translateX(-150%);opacity:0}22%{opacity:.8}to{transform:translateX(150%);opacity:0}}@keyframes nav-item-enter{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}@keyframes row-enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes metric-sheen{0%{transform:translateX(-180%);opacity:0}25%{opacity:.7}to{transform:translateX(280%);opacity:0}}@keyframes pulse-glow{0%,to{box-shadow:0 10px 26px rgba(0,111,195,.32),inset 0 1px 0 rgba(255,255,255,.28)}50%{box-shadow:0 13px 34px rgba(0,128,212,.44),inset 0 1px 0 rgba(255,255,255,.38)}}@keyframes slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}a,button,input,select,textarea{transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease,transform .2s ease}:focus-visible{outline:none;box-shadow:var(--focus)}main{padding:42px 24px 72px}main:has(.admin-layout),main:has(.auth-page),main:has(.home-page){padding:0}.app-shell{width:min(1140px,calc(100vw - 40px));margin:0 auto}.app-shell:has(.admin-layout),.app-shell:has(.auth-page),.app-shell:has(.home-page){width:100%;max-width:none}.grid{display:grid;gap:22px}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.cards{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.dashboard-space{display:grid;gap:24px}.stats-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card{position:relative;overflow:hidden;border-radius:16px;border:1px solid rgba(7,92,152,.2);background:linear-gradient(138deg,rgba(255,255,255,.74),rgba(239,251,255,.66));box-shadow:var(--shadow-sm);padding:16px 16px 14px}.stat-card:before{inset:0;background:linear-gradient(140deg,rgba(0,188,244,.12),transparent 48%,rgba(0,215,166,.08))}.stat-card:after,.stat-card:before{content:"";position:absolute;pointer-events:none}.stat-card:after{width:36%;top:-42%;bottom:-42%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.14) 40%,rgba(255,255,255,.46) 50%,rgba(255,255,255,.14) 60%,transparent);transform:translateX(-180%);animation:metric-sheen 6.4s ease-in-out infinite}.stat-label{margin:0 0 8px;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;color:#3f668b}.stat-label,.stat-value{position:relative;z-index:1}.stat-value{margin:0;font-size:clamp(1.2rem,2.6vw,1.6rem);font-weight:800;color:#083d64;line-height:1}.section-subtitle{position:relative;z-index:1;margin:-2px 0 14px;color:#4a6a8c;font-size:.9rem;line-height:1.48}.workspace-switcher{display:grid;gap:12px}.workspace-switcher-buttons{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px}.workspace-switcher-buttons .button.secondary{min-height:36px;padding:8px 14px;font-size:.66rem}.places-events-shell{gap:22px}.places-events-hero{border-color:rgba(0,141,212,.26)}.places-events-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(500px 240px at 92% 6%,rgba(0,203,244,.16),transparent 62%),radial-gradient(450px 220px at 8% 96%,rgba(0,210,162,.13),transparent 62%)}.places-events-chip-list{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px}.places-events-grid{display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}.discover-list,.place-list{display:grid;gap:10px;max-height:390px;overflow:auto;padding-right:4px}.place-tile{text-align:left;border-radius:14px;border:1px solid rgba(8,62,101,.2);background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(240,250,255,.66));padding:12px;cursor:pointer;display:grid;gap:7px}.place-tile:hover{border-color:rgba(0,126,206,.4);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.place-tile[data-active=true]{border-color:rgba(0,124,208,.56);box-shadow:0 12px 26px rgba(0,109,183,.2),inset 0 1px 0 rgba(255,255,255,.44);background:linear-gradient(140deg,rgba(219,245,255,.93),rgba(236,252,249,.82))}.discover-card h4,.place-tile h4{margin:0;font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;font-size:.79rem;color:#0c4068}.discover-card p,.place-tile p{margin:0;color:#3f6387;font-size:.84rem;line-height:1.4}.place-tile-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.place-tile-id{display:inline-flex;width:max-content;max-width:100%;font-size:.7rem;color:#0f608f;letter-spacing:.04em;font-family:var(--font-display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.places-empty{border-radius:12px;border:1px dashed rgba(8,62,101,.3);background:rgba(255,255,255,.56);color:#4f6e8e;padding:12px;font-size:.86rem}.discover-card{border-radius:14px;border:1px solid rgba(8,62,101,.2);background:linear-gradient(155deg,rgba(255,255,255,.82),rgba(240,250,255,.7));padding:12px;display:grid;gap:10px}.discover-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.discover-card-actions select{min-width:165px;max-width:220px}.place-detail-grid{position:relative;z-index:1;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.place-detail-item{border-radius:12px;border:1px solid rgba(8,62,101,.18);background:rgba(255,255,255,.64);padding:10px 11px;display:grid;gap:6px}.place-detail-item span{color:#4b6b8f;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--font-display)}.place-detail-item strong{color:#0d3e67;font-size:.88rem}.place-photo-cloud{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.place-photo-chip{max-width:min(360px,100%);border-radius:999px;border:1px solid rgba(8,62,101,.24);background:rgba(255,255,255,.88);color:#14537f;font-size:.72rem;padding:6px 11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}button.place-photo-chip{cursor:pointer}button.place-photo-chip:hover{border-color:rgba(177,27,52,.45);color:#8e1c2f;background:rgba(255,235,239,.9)}.photo-entry-row{display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto}.events-toolbar{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.events-toolbar .field{min-width:200px}.event-inline-note{margin-top:3px;color:#4e7094;font-size:.76rem}.form-cluster{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.form-card{position:relative;z-index:1;display:grid;gap:14px;padding:16px;border-radius:14px;border:1px solid rgba(8,62,101,.17);background:linear-gradient(155deg,rgba(255,255,255,.7),rgba(245,252,255,.55))}.form h4,.form-card h4{margin:0;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;color:#23567f}.field{display:grid;gap:8px}.pill-list{display:flex;flex-wrap:wrap;gap:10px}.permission-chip-list{display:flex;flex-direction:column;gap:8px}.permission-chip-item{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.permission-remove-btn{min-height:24px;padding:4px 8px;border-radius:8px;border:1px solid rgba(175,24,49,.26);background:rgba(255,233,237,.76);color:#8f1526;font-size:.66rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;cursor:pointer}.permission-remove-btn:hover{border-color:rgba(175,24,49,.45);background:rgba(255,220,227,.92)}.permission-add-inline{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.permission-add-inline select{min-width:170px;max-width:240px}.table-shell{border:1px solid rgba(8,46,80,.12);border-radius:14px;overflow-x:auto;background:rgba(255,255,255,.56)}.table-shell .table{margin:0;min-width:680px}.status-chip{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:4px 10px;border-radius:999px;border:1px solid rgba(10,78,123,.22);font-family:var(--font-display);letter-spacing:.07em;text-transform:uppercase;font-size:.62rem;color:#0c4f80;background:rgba(255,255,255,.72)}.status-chip[data-tone=ok]{border-color:rgba(0,133,93,.38);color:#03634b;background:rgba(201,255,235,.72)}.status-chip[data-tone=warn]{border-color:rgba(201,129,15,.42);color:#7f5007;background:rgba(255,241,205,.82)}.status-chip[data-tone=err]{border-color:rgba(175,24,49,.38);color:#8f1526;background:rgba(255,226,232,.82)}.status-chip[data-tone=info]{border-color:rgba(0,117,193,.36);color:#075f9b;background:rgba(220,244,255,.82)}.cards>*,.grid>*,.home-features>*{animation:surface-enter .55s cubic-bezier(.23,1,.32,1) both}.cards>:nth-child(2),.grid>:nth-child(2),.home-features>:nth-child(2){animation-delay:.05s}.cards>:nth-child(3),.grid>:nth-child(3),.home-features>:nth-child(3){animation-delay:.1s}.cards>:nth-child(4),.grid>:nth-child(4),.home-features>:nth-child(4){animation-delay:.15s}.auth-card,.card,.home-feature-card,.panel{position:relative;overflow:hidden;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-md);backdrop-filter:blur(10px);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.auth-card:before,.card:before,.home-feature-card:before,.panel:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(130deg,rgba(255,255,255,.7),rgba(255,255,255,.24) 28%,transparent 65%)}.card,.panel{padding:26px}.auth-card:hover,.card:hover,.home-feature-card:hover,.panel:hover{transform:translateY(-3px);border-color:var(--border-strong);box-shadow:var(--shadow-lg)}.card{display:grid;gap:12px}.card h3,.panel h3,.section-title h3{margin:0;font-family:var(--font-display);letter-spacing:.04em;font-size:1rem;text-transform:uppercase}.card p,.panel p{margin:0;color:var(--muted);line-height:1.52}.section-title{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px}.badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:6px 13px;border-radius:999px;border:1px solid rgba(0,103,170,.28);background:linear-gradient(145deg,rgba(0,204,242,.12),rgba(0,131,215,.08));color:#03518c;font-size:.74rem;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase}.error,.notice{position:relative;z-index:1;border-radius:var(--radius-sm);border:1px solid;padding:12px 14px;font-size:.9rem;line-height:1.45;animation:slide-up .35s ease both}.notice{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok-ink)}.error{background:var(--err-bg);border-color:var(--err-border);color:var(--err-ink)}.actions{display:flex;flex-wrap:wrap;gap:10px}.button{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 18px;border-radius:12px;border:1px solid transparent;background:linear-gradient(130deg,var(--brand-strong),var(--brand));color:#f4fcff;font-weight:700;letter-spacing:.03em;text-transform:uppercase;font-size:.77rem;cursor:pointer;box-shadow:0 10px 26px rgba(0,111,195,.32),inset 0 1px 0 rgba(255,255,255,.28);animation:pulse-glow 4.4s ease-in-out infinite}.button:before{content:"";position:absolute;top:-20%;bottom:-20%;width:44%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.16) 45%,rgba(255,255,255,.72) 50%,rgba(255,255,255,.16) 55%,transparent);transform:translateX(-170%);pointer-events:none;mix-blend-mode:screen}.button:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(0,111,195,.38),inset 0 1px 0 rgba(255,255,255,.35)}.button:hover:before{animation:button-shine .85s ease both}.button:active{transform:translateY(0)}.button.secondary{background:rgba(255,255,255,.6);color:#053662;border-color:rgba(0,107,176,.26);box-shadow:inset 0 1px 0 rgba(255,255,255,.6);animation:none}.button.secondary:hover{background:rgba(255,255,255,.92);border-color:rgba(0,107,176,.38);box-shadow:var(--shadow-sm)}.button.secondary.active{color:#f4fdff;border-color:rgba(0,117,193,.7);background:linear-gradient(130deg,#0c7dd4,#03a6da);animation:pulse-glow 3.2s ease-in-out infinite}.button:disabled,.button[disabled]{cursor:not-allowed;opacity:.56;transform:none;animation:none}.form{position:relative;z-index:1;display:grid;gap:16px}.form label{font-size:.72rem;color:#3e5a7a;font-family:var(--font-display);letter-spacing:.09em;text-transform:uppercase;font-weight:600}.form input,.form select,.form textarea,.table-pagination-size{width:100%;min-height:42px;border-radius:12px;border:1px solid rgba(8,62,101,.24);padding:10px 12px;background:rgba(255,255,255,.78);color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.form select,.table-pagination-size{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#0f5d8f 0),linear-gradient(135deg,#0f5d8f 50%,transparent 0);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-size:6px 6px;background-repeat:no-repeat;padding-right:34px}.form textarea{resize:vertical;min-height:88px}.form input:hover,.form select:hover,.form textarea:hover,.table-pagination-size:hover{border-color:rgba(8,62,101,.34)}.form input:focus,.form select:focus,.form textarea:focus,.table-pagination-size:focus{border-color:rgba(0,134,212,.72);box-shadow:var(--focus)}.form input[type=checkbox]{width:17px;height:17px;min-height:17px;border-radius:6px;accent-color:var(--brand-strong);box-shadow:none;padding:0}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:.88rem}.table td,.table th{position:relative;z-index:1;padding:12px;text-align:left;border-bottom:1px solid rgba(8,46,80,.13);white-space:nowrap}.table--data{table-layout:auto}.table--data td{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.table--data th{white-space:nowrap}.table--data .table-actions-cell,.table--data .table-actions-header{width:1%;text-align:center;white-space:nowrap}.table--data .table-actions-cell .table-actions{justify-content:center;width:100%}.table--data .table-cell-address{line-height:1.35}.table th{font-family:var(--font-display);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:#355b7e;background:rgba(0,157,220,.08)}.table tr:hover td{background:rgba(0,178,235,.06)}.table tbody tr{animation:row-enter .35s ease both}.table tbody tr:nth-child(2){animation-delay:.03s}.table tbody tr:nth-child(3){animation-delay:.06s}.table tbody tr:nth-child(4){animation-delay:.09s}.table-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(8,46,80,.13)}.table-pagination-info,.table-pagination-page,.table-pagination-size-label{color:var(--muted);font-size:.8rem}.table-pagination-buttons,.table-pagination-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.table-pagination-btn{min-height:34px;padding:8px 14px;font-size:.68rem}.table-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.table-action-btn{display:inline-flex;align-items:center;gap:6px;min-height:34px;border-radius:10px;border:1px solid rgba(8,62,101,.24);background:rgba(255,255,255,.82);color:#0d395f;padding:7px 10px;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.table-action-btn svg{width:14px;height:14px}.table-action-btn:hover{transform:translateY(-1px);border-color:rgba(6,97,157,.4);box-shadow:var(--shadow-sm)}.table-action-btn--edit:hover,.table-action-btn--open:hover{color:#045d98;border-color:rgba(0,113,197,.5);background:rgba(0,154,234,.12)}.table-action-btn--verify:hover{color:#046a50;border-color:rgba(0,145,108,.44);background:rgba(0,212,163,.12)}.table-action-btn--unverify:hover{color:#905a08;border-color:rgba(208,133,26,.5);background:rgba(255,187,64,.15)}.table-action-btn--delete:hover{color:#a6172d;border-color:rgba(184,25,52,.5);background:rgba(235,51,88,.12)}.breadcrumb{display:block}.breadcrumb-list{display:flex;align-items:center;flex-wrap:wrap;gap:4px;list-style:none;margin:0;padding:0}.breadcrumb-item{display:flex;align-items:center;gap:3px;font-size:.78rem}.breadcrumb-separator{color:#5883ad;margin:0 5px}.breadcrumb-link{color:#0a67a7;font-weight:600}.breadcrumb-link:hover{color:#008ac8}.breadcrumb-current{color:#4d7195;font-weight:600}.admin-layout{position:relative;display:flex;width:100vw;min-height:100vh;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:radial-gradient(1100px 800px at 92% 6%,rgba(1,167,220,.15),transparent 60%),linear-gradient(180deg,#e9f7ff,#f4fbff)}.admin-sidebar{position:sticky;top:0;align-self:flex-start;display:flex;flex-direction:column;width:278px;min-width:278px;height:100vh;padding:12px;background:linear-gradient(180deg,#0e2238,#102945);border-right:1px solid rgba(255,255,255,.12);box-shadow:inset -1px 0 0 rgba(0,206,255,.12)}.admin-sidebar:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(170deg,rgba(0,216,255,.17),transparent 36%),repeating-linear-gradient(0deg,transparent,transparent 28px,rgba(255,255,255,.03) 29px,transparent 30px)}.admin-sidebar-brand{position:relative;z-index:1;display:flex;flex-direction:column;gap:4px;padding:16px 14px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.06);margin-bottom:10px}.admin-sidebar-logo{font-family:var(--font-display);color:#dff9ff;font-size:1.03rem}.admin-sidebar-logo,.admin-sidebar-product{letter-spacing:.08em;text-transform:uppercase}.admin-sidebar-product{color:rgba(226,243,255,.72);font-size:.72rem}.admin-sidebar-nav{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;gap:8px;padding:6px 0}.admin-sidebar-link{position:relative;display:flex;align-items:center;gap:10px;min-height:42px;border-radius:12px;padding:10px 12px;color:rgba(226,243,255,.83);font-weight:600;letter-spacing:.02em;animation:nav-item-enter .3s ease both}.admin-sidebar-link:nth-child(2){animation-delay:.04s}.admin-sidebar-link:nth-child(3){animation-delay:.08s}.admin-sidebar-link:nth-child(4){animation-delay:.12s}.admin-sidebar-link:nth-child(5){animation-delay:.16s}.admin-sidebar-link:after{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:999px;opacity:0;background:linear-gradient(180deg,#00d5ff,#00d89f);transition:opacity .2s ease}.admin-sidebar-link:hover{background:rgba(255,255,255,.1);color:#f3fdff}.admin-sidebar-link[data-active=true]{background:linear-gradient(120deg,rgba(0,185,234,.26),rgba(0,133,223,.16));color:#f3feff;border:1px solid rgba(64,222,255,.35)}.admin-sidebar-link[data-active=true]:after{opacity:1}.admin-sidebar-footer{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px;border-top:1px solid rgba(255,255,255,.12);padding-top:12px;margin-top:8px}.admin-sidebar-link--muted{color:rgba(222,240,255,.7);font-weight:500}.admin-sidebar-logout{margin:0}.admin-sidebar-logout button{width:100%;border:none;background:none;text-align:left}.admin-main{position:relative;flex:1;min-width:0}.admin-navbar{position:sticky;top:0;z-index:7;padding:16px 38px;border-bottom:1px solid rgba(8,46,80,.14);background:rgba(242,251,255,.82);backdrop-filter:blur(10px)}.admin-main-inner{padding:30px 38px 56px}.admin-page-header,.admin-page-header-flex{position:relative;overflow:hidden;padding:20px 22px;border-radius:18px;border:1px solid var(--border);background:var(--surface-strong);box-shadow:var(--shadow-sm);margin-bottom:24px}.admin-page-header-flex:before,.admin-page-header:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(0,201,246,.11),transparent 52%)}.admin-page-header h1,.admin-page-header-flex .admin-page-header-title h1{margin:0;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:clamp(1.05rem,1.9vw,1.3rem)}.admin-page-header p,.admin-page-header-flex .admin-page-header-title p{margin:8px 0 0;color:var(--muted);font-size:.9rem}.admin-page-header-flex{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.admin-page-header-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.home-page{position:relative;min-height:100vh;padding:40px 26px 64px;overflow:hidden}.home-page:after,.home-page:before{content:"";position:absolute;pointer-events:none;z-index:0}.home-page:before{inset:10% 10% auto auto;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle at center,rgba(0,198,255,.18),transparent 70%)}.home-page:after{inset:auto auto 4% -4%;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle at center,rgba(0,218,166,.18),transparent 70%)}.home-features,.home-header,.home-hero{position:relative;z-index:1;width:min(1080px,100%);margin-left:auto;margin-right:auto}.home-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:42px;padding:14px 16px;border-radius:16px;border:1px solid var(--border);background:var(--surface-strong);box-shadow:var(--shadow-sm)}.home-brand{font-family:var(--font-display);letter-spacing:.09em;text-transform:uppercase;color:#045488;font-size:.95rem}.home-header-actions{display:flex;flex-wrap:wrap;gap:10px}.home-hero{text-align:center;margin-bottom:32px;padding:34px 22px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-lg);animation:surface-enter .7s cubic-bezier(.23,1,.32,1) both,float-orb-reverse 18s ease-in-out infinite}.home-hero-title{margin:0;font-family:var(--font-display);font-size:clamp(2.2rem,6vw,3.5rem);letter-spacing:.07em;line-height:1.07;text-transform:uppercase;background:linear-gradient(132deg,#0968b0 5%,#00a6d6 52%,#01be8f 95%);-webkit-background-clip:text;background-clip:text;color:transparent}.home-hero-subtitle{margin:18px auto 26px;max-width:720px;font-size:clamp(1rem,2.6vw,1.15rem);line-height:1.6;color:#315a7d}.home-hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.home-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.home-feature-card{padding:20px;border-radius:16px;border:1px solid var(--border)}.home-feature-card h3{margin:0 0 8px;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:.85rem;color:#0d4673}.home-feature-card p{margin:0;color:#3d6285;line-height:1.55;font-size:.9rem}.auth-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px;background:radial-gradient(900px 680px at 16% 10%,rgba(0,185,255,.14),transparent 58%),radial-gradient(900px 680px at 88% 85%,rgba(0,212,163,.13),transparent 58%),linear-gradient(170deg,#eaf8ff,#f8fdff)}.auth-page-inner{width:min(470px,100%)}.auth-back{position:fixed;top:24px;left:24px;z-index:2;display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.82);color:#0f456f;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:.65rem}.auth-back:hover{background:#ffffff;transform:translateY(-1px)}.auth-card{padding:34px 30px;border-radius:24px;animation:surface-enter .7s cubic-bezier(.23,1,.32,1) both}.auth-card-header{text-align:center;margin-bottom:24px}.auth-brand{display:inline-block;margin-bottom:10px;letter-spacing:.1em;font-size:.74rem;color:#0466a5}.auth-brand,.auth-title{font-family:var(--font-display);text-transform:uppercase}.auth-title{margin:0 0 8px;letter-spacing:.06em;font-size:1.15rem}.auth-subtitle{margin:0;color:var(--muted);line-height:1.55;font-size:.92rem}.auth-form{position:relative;z-index:1}.auth-form .form{gap:18px}.auth-form .button{margin-top:6px}.auth-card-footer{margin-top:22px;padding-top:18px;border-top:1px solid rgba(8,46,80,.15);text-align:center;color:#3f5f80;font-size:.9rem}.auth-card-footer a{font-weight:700;color:#075f9b}.auth-card-footer a:hover{color:#0a86cb}.drawer-overlay{position:fixed;inset:0;z-index:30;opacity:0;visibility:hidden;background:rgba(7,27,49,.38);backdrop-filter:blur(2px);transition:opacity .22s ease}.drawer-overlay[data-open=true]{opacity:1;visibility:visible}.drawer-panel{position:absolute;top:0;right:0;width:min(430px,100%);height:100%;display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.34);background:linear-gradient(180deg,rgba(243,251,255,.97),rgba(235,247,255,.95));box-shadow:-24px 0 60px rgba(6,24,47,.22);transform:translateX(100%);transition:transform .24s ease}.drawer-panel--wide{width:min(580px,100%)}.drawer-overlay[data-open=true] .drawer-panel{transform:translateX(0)}.modal-panel{position:absolute;top:50%;left:50%;width:min(760px,calc(100% - 28px));max-height:calc(100% - 36px);display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.42);border-radius:18px;background:linear-gradient(180deg,rgba(243,251,255,.98),rgba(235,247,255,.95));box-shadow:0 30px 70px rgba(6,24,47,.28);transform:translate(-50%,-46%) scale(.98);opacity:0;transition:transform .24s ease,opacity .24s ease;overflow:hidden}.modal-panel--wide{width:min(920px,calc(100% - 28px))}.drawer-overlay[data-open=true] .modal-panel{transform:translate(-50%,-50%) scale(1);opacity:1}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 18px;border-bottom:1px solid rgba(8,46,80,.13)}.drawer-header h2{margin:0;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:.95rem}.drawer-close{width:34px;height:34px;border-radius:10px;border:1px solid rgba(8,62,101,.2);background:rgba(255,255,255,.8);color:#255379;font-size:1.1rem;line-height:1;cursor:pointer}.drawer-close:hover{background:#ffffff;border-color:rgba(8,62,101,.32)}.drawer-body{flex:1;padding:18px;overflow:auto}.drawer-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid rgba(8,46,80,.13)}.filter-popup-panel{width:min(1080px,calc(100% - 28px))}.internal-place-modal-panel{width:min(1180px,calc(100% - 28px))}.internal-place-editor-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.internal-place-photos-panel{display:grid;align-content:flex-start;gap:12px;padding:14px;border-radius:14px;border:1px solid rgba(8,62,101,.16);background:linear-gradient(155deg,rgba(255,255,255,.78),rgba(245,252,255,.6))}.internal-place-upload-row{display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto}.internal-place-upload-row input[type=file]{min-height:40px;padding:8px;border-radius:10px;border:1px solid rgba(8,62,101,.24);background:rgba(255,255,255,.84)}.internal-place-upload-note{margin:-4px 0 2px;color:#4a6c8f;font-size:.8rem}.internal-place-photo-empty{margin:0;padding:10px 12px;border-radius:10px;border:1px dashed rgba(8,62,101,.24);color:#44698f;font-size:.82rem}.internal-place-photo-list{display:grid;gap:12px;max-height:min(62vh,620px);overflow:auto;padding-right:2px}.internal-place-photo-card{display:grid;gap:10px;border-radius:12px;border:1px solid rgba(8,62,101,.17);background:rgba(255,255,255,.88);padding:10px}.internal-place-photo-preview-wrap{width:100%;aspect-ratio:16/9;border-radius:10px;border:1px solid rgba(8,62,101,.18);background:rgba(230,242,252,.9);overflow:hidden;display:grid;place-items:center}.internal-place-photo-preview{width:100%;height:100%;object-fit:cover}.internal-place-photo-form{display:grid;gap:8px}.internal-place-photo-form label{color:#3f5f81;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--font-display)}.internal-place-photo-actions{display:flex;flex-wrap:wrap;gap:8px}.internal-place-photo-link{text-decoration:none}.internal-place-photo-remove{color:#a6172d;border-color:rgba(184,25,52,.35);background:rgba(255,233,237,.9)}.internal-place-photo-remove:hover{color:#901128;border-color:rgba(184,25,52,.5);background:rgba(255,218,225,.95)}.map-geometry-section{border:1px solid rgba(8,62,101,.18);border-radius:14px;background:rgba(255,255,255,.48);padding:14px}.map-geometry-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.map-geometry-radius-row{display:grid;gap:6px;margin-bottom:12px;max-width:260px}.map-geometry-radius-row label{font-size:.7rem;color:#3e5a7a;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase}.map-geometry-radius-row input{min-height:40px;border-radius:10px;border:1px solid rgba(8,62,101,.24);padding:8px 10px;background:rgba(255,255,255,.78)}.map-geometry-canvas{width:100%;height:min(64vh,560px);border-radius:14px;border:1px solid rgba(8,62,101,.2);overflow:hidden}.header{display:flex;align-items:center;justify-content:space-between;gap:14px}.nav{display:flex;flex-wrap:wrap;gap:8px}.nav a{border-radius:10px;padding:8px 12px;border:1px solid var(--border);background:rgba(255,255,255,.7);font-size:.8rem;color:#1e4f79}.nav a.active{color:#f2fcff;border-color:rgba(0,117,193,.7);background:linear-gradient(130deg,#0c7dd4,#03a6da)}.brand{display:grid;gap:6px}.brand h1{margin:0;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;font-size:1.2rem}.brand p{margin:0;color:var(--muted)}.public-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;padding:14px 16px;border-radius:14px;border:1px solid var(--border);background:rgba(255,255,255,.74)}@media (max-width:1180px){.admin-navbar{padding:14px 24px}.admin-main-inner{padding:24px}.admin-sidebar{width:96px;min-width:96px}.admin-sidebar-brand{padding:14px 10px;align-items:center;text-align:center}.admin-sidebar-link span:nth-child(2),.admin-sidebar-product{display:none}.admin-sidebar-link{justify-content:center;padding:10px}.admin-sidebar-link:after{left:50%;top:auto;bottom:4px;width:22px;height:3px;transform:translateX(-50%)}}@media (max-width:900px){main{padding:28px 14px 56px}.dashboard-space{gap:20px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-cluster{grid-template-columns:1fr}.table-shell .table{min-width:620px}.grid.cols-2{grid-template-columns:1fr}.section-title{flex-direction:column;align-items:flex-start}.home-page{padding:22px 14px 46px}.home-header{flex-direction:column;align-items:flex-start;margin-bottom:24px;padding:10px 12px}.home-hero{padding:26px 16px;margin-bottom:20px}.auth-page{padding:18px}.auth-card{padding:24px 18px}.auth-back{top:12px;left:12px}.table-action-btn span{display:none}.table-action-btn{min-width:34px;padding:7px;justify-content:center}.panel{overflow-x:auto}.table{min-width:720px}.table td,.table th{padding:10px 9px}.places-events-grid{grid-template-columns:1fr}.discover-list,.place-list{max-height:none}.events-toolbar{align-items:stretch}.events-toolbar .field{min-width:0;width:100%}.internal-place-editor-grid,.internal-place-upload-row,.photo-entry-row{grid-template-columns:1fr}.internal-place-photo-list{max-height:none}.discover-card-actions{flex-direction:column;align-items:stretch}.discover-card-actions .button,.discover-card-actions select{width:100%;max-width:none}}@media (max-width:760px){.admin-layout{display:block}.admin-sidebar{position:relative;width:100%;min-width:0;height:auto;border-right:none;border-bottom:1px solid rgba(255,255,255,.15)}.admin-sidebar-nav{flex-direction:row;overflow:auto;gap:6px;padding-bottom:8px;scroll-snap-type:x proximity}.admin-sidebar-link{flex:0 0 auto;justify-content:flex-start;min-height:36px;padding:8px 10px;scroll-snap-align:start}.admin-sidebar-link span:nth-child(2),.admin-sidebar-product{display:inline}.admin-sidebar-footer{flex-direction:row;border-top:none;border-bottom:1px solid rgba(255,255,255,.13);padding-top:2px;padding-bottom:10px;margin-top:0}.admin-navbar{position:static;padding:12px 14px 8px;background:transparent;border-bottom:none}.admin-main-inner{padding:16px 14px 34px}.card,.panel{padding:18px}.table-pagination{align-items:flex-start}.table-pagination-buttons,.table-pagination-controls{width:100%;justify-content:space-between}.modal-panel,.modal-panel--wide{width:calc(100% - 20px);max-height:calc(100% - 20px);border-radius:14px}}@media (max-width:520px){.stats-grid{grid-template-columns:1fr}.workspace-switcher-buttons,.workspace-switcher-buttons .button{width:100%}.permission-add-inline{width:100%;flex-direction:column;align-items:stretch}.permission-add-inline .button,.permission-add-inline select{width:100%;max-width:none}.table-shell .table{min-width:560px}.admin-page-header-actions,.admin-page-header-actions .button,.home-header-actions,.home-header-actions .button,.home-hero-actions,.home-hero-actions .button{width:100%}.auth-page{padding:12px}.auth-card{padding:20px 14px}.table{min-width:650px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}