:root{--ink:#241447;--soft:#74638b;--purple:#752bdc;--pink:#ff4d9d;--yellow:#ffe259;--cyan:#46dfe8;--paper:#fff9f5;--white:#fff;--shadow:0 25px 75px rgba(41,12,82,.22)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{min-height:100%;margin:0}body{color:var(--ink);background:linear-gradient(145deg,#6422bd,#a338db 46%,#ff65ae);font-family:Inter,ui-rounded,"SF Pro Rounded",system-ui,-apple-system,"Segoe UI",sans-serif}button,input{font:inherit}a{color:inherit}.portal-bg{position:fixed;z-index:-1;inset:0;overflow:hidden}.portal-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 16% 34%,rgba(255,226,89,.22),transparent 25%),radial-gradient(circle at 87% 70%,rgba(70,223,232,.25),transparent 27%)}.portal-bg span{position:absolute;border-radius:50%;filter:blur(3px);animation:float 7s ease-in-out infinite alternate}.portal-bg span:nth-child(1){width:160px;height:160px;left:-50px;top:18%;background:#ff6fb5}.portal-bg span:nth-child(2){width:90px;height:90px;right:8%;top:10%;background:#ffe259;animation-delay:-2s}.portal-bg span:nth-child(3){width:190px;height:190px;right:-70px;bottom:4%;background:#41d9e5;animation-delay:-4s}@keyframes float{to{transform:translateY(-22px) rotate(12deg)}}
.portal-header{width:min(1240px,calc(100% - 34px));height:82px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.portal-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;letter-spacing:.08em}.portal-brand i{display:grid;place-items:center;width:45px;height:45px;border-radius:15px;font-size:24px;font-style:normal;background:linear-gradient(145deg,#ffe259,#ff9d3e 55%,#ff4d9d);box-shadow:0 12px 28px rgba(75,18,101,.2)}.portal-header nav{display:flex;align-items:center;gap:9px}.ghost-button,.user-chip{display:inline-flex;align-items:center;height:40px;padding:0 14px;border:1px solid rgba(255,255,255,.25);border-radius:13px;color:#fff;text-decoration:none;background:rgba(54,14,99,.25);backdrop-filter:blur(14px)}button.ghost-button{cursor:pointer}.portal-main{width:min(1240px,calc(100% - 34px));min-height:calc(100vh - 82px);margin:auto;padding:26px 0 60px}.flash-stack{position:fixed;z-index:50;top:92px;left:50%;width:min(520px,calc(100% - 30px));transform:translateX(-50%)}.flash{margin-bottom:8px;padding:13px 16px;border-radius:14px;color:#fff;font-size:13px;font-weight:800;box-shadow:0 12px 30px rgba(35,7,70,.18);background:#4d216f}.flash.error{background:#b72e64}.flash.success{background:#158a73}.flash.warning{background:#9b6414}
.auth-shell{min-height:calc(100vh - 150px);display:grid;grid-template-columns:1fr minmax(390px,540px);align-items:center;gap:7vw}.auth-story{padding:35px;color:#fff}.auth-story .eyebrow,.dashboard-head .eyebrow,.status-card .eyebrow{margin:0 0 12px;color:#ffe889;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.auth-story h1{margin:0;font-size:clamp(44px,5vw,72px);line-height:.98;letter-spacing:-.055em}.auth-story h1 em{color:#ffe259;font-style:normal}.auth-story>p:last-child{max-width:520px;color:rgba(255,255,255,.8);font-size:17px;line-height:1.55}.story-globe{position:relative;width:150px;height:150px;margin-bottom:28px;display:grid;place-items:center;border-radius:50%;font-size:100px;filter:drop-shadow(0 25px 32px rgba(40,7,75,.25));animation:globe 4s ease-in-out infinite}.story-globe span{position:absolute;display:grid;place-items:center;width:42px;height:42px;border-radius:14px;font-size:22px;background:#fff;box-shadow:0 10px 25px rgba(50,8,80,.2)}.story-globe span:nth-child(1){right:-15px;top:18px}.story-globe span:nth-child(2){left:-8px;bottom:12px}.story-globe span:nth-child(3){right:3px;bottom:-15px}@keyframes globe{50%{transform:translateY(-8px) rotate(2deg)}}
.auth-card{padding:14px 34px 30px;border:1px solid rgba(255,255,255,.65);border-radius:30px;background:rgba(255,255,255,.94);box-shadow:var(--shadow);backdrop-filter:blur(24px)}.role-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 -20px 24px;padding:6px;border-radius:18px;background:#f0e8fa}.role-switch a{padding:11px;border-radius:13px;color:#806e98;font-size:13px;font-weight:850;text-align:center;text-decoration:none}.role-switch a.active{color:#fff;background:linear-gradient(135deg,#762ee0,#d546da 58%,#ff4d9d);box-shadow:0 8px 20px rgba(118,46,224,.25)}.card-heading span{color:#9a82ae;font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.card-heading h2{margin:6px 0 22px;font-size:30px;letter-spacing:-.04em}.auth-form{display:grid;gap:14px}.auth-form.two-columns{grid-template-columns:1fr 1fr}.auth-form label{display:grid;gap:6px;color:#604d78;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.auth-form .wide{grid-column:1/-1}.auth-form input{width:100%;height:50px;padding:0 14px;border:1px solid #e6dcee;border-radius:14px;outline:0;color:#281747;font-size:14px;text-transform:none;letter-spacing:0;background:#fff}.auth-form input:focus{border-color:#9b50eb;box-shadow:0 0 0 4px rgba(155,80,235,.12)}.primary-button{min-height:52px;border:0;border-radius:16px;color:#fff;font-weight:900;background:linear-gradient(135deg,#7127dc,#c63ee1 55%,#ff4d9d);box-shadow:0 12px 26px rgba(122,37,207,.28);cursor:pointer}.link-button{display:inline-flex;align-items:center;justify-content:center;padding:0 20px;text-decoration:none}.auth-foot{margin:18px 0 0;color:#88749c;font-size:13px;text-align:center}.auth-foot a{color:#772bdc;font-weight:850}.approval-note{margin:14px 0 0;padding:10px 12px;border-radius:12px;color:#725790;font-size:11px;line-height:1.4;background:#f4edfb}
.dashboard-wrap{padding-top:48px}.dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 10px 30px;color:#fff}.dashboard-head h1{margin:0;font-size:clamp(36px,5vw,62px);letter-spacing:-.055em}.dashboard-head>div>p:last-child{color:rgba(255,255,255,.78)}.profile-bubble{display:grid;place-items:center;width:88px;height:88px;border:5px solid rgba(255,255,255,.45);border-radius:30px;color:#5a2389;font-size:34px;font-weight:900;background:linear-gradient(145deg,#ffe259,#ff9d54)}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.dash-tile{min-height:260px;padding:25px;border:1px solid rgba(255,255,255,.55);border-radius:28px;background:#fff;box-shadow:var(--shadow)}.dash-tile i{display:grid;place-items:center;width:58px;height:58px;border-radius:19px;font-size:27px;font-style:normal;background:rgba(255,255,255,.55)}.dash-tile h2{margin:26px 0 8px;font-size:23px}.dash-tile p{min-height:44px;color:#725f88;line-height:1.5}.dash-tile strong,.dash-tile a{color:#6925c9;font-size:14px;font-weight:900}.dash-tile button{padding:8px 12px;border:0;border-radius:10px;color:#8d789e;background:rgba(255,255,255,.6)}.dash-tile.yellow{background:linear-gradient(145deg,#fff5b1,#ffd862)}.dash-tile.cyan{background:linear-gradient(145deg,#cbfbf8,#67dfea)}.dash-tile.pink{background:linear-gradient(145deg,#ffe0ed,#ff9bc5)}
.status-card{width:min(680px,100%);margin:8vh auto 0;padding:45px;border:1px solid rgba(255,255,255,.65);border-radius:32px;text-align:center;background:rgba(255,255,255,.94);box-shadow:var(--shadow)}.status-icon{font-size:62px}.status-card h1{margin:8px 0 13px;font-size:39px;letter-spacing:-.045em}.status-card>p:not(.eyebrow){color:#765f8c;line-height:1.6}.status-card .eyebrow{color:#8c43d8}.status-line{display:flex;align-items:center;justify-content:center;gap:10px;margin:25px 0}.status-line span{width:12px;height:12px;border-radius:50%;background:#ffad37;box-shadow:0 0 0 7px rgba(255,173,55,.14);animation:pulse 1.6s infinite}@keyframes pulse{50%{box-shadow:0 0 0 12px rgba(255,173,55,0)}}
.admin-stats{display:flex;gap:10px;margin-bottom:18px}.admin-stats span{padding:12px 16px;border-radius:15px;color:#fff;background:rgba(49,10,93,.3);backdrop-filter:blur(14px)}.admin-stats b{font-size:20px}.admin-panel{padding:25px;border-radius:29px;background:rgba(255,255,255,.95);box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:center;justify-content:space-between}.panel-heading h2{margin:0}.panel-heading span{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;color:#fff;background:#ff4d9d}.approval-list{display:grid;gap:10px;margin-top:20px}.approval-item{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;padding:13px;border:1px solid #eee4f4;border-radius:18px}.applicant-avatar{display:grid;place-items:center;width:52px;height:52px;border-radius:17px;color:#572188;font-size:20px;font-weight:900;background:linear-gradient(145deg,#ffe259,#ff9e61)}.applicant-info{min-width:0}.applicant-info strong,.applicant-info span,.applicant-info small{display:block}.applicant-info span{margin-top:3px;color:#724e90;font-size:13px}.applicant-info small{margin-top:4px;color:#9b8aa9}.approval-actions{display:flex;gap:7px}.approval-actions form{margin:0}.approval-actions button{height:38px;padding:0 12px;border:0;border-radius:12px;font-weight:850;cursor:pointer}.approve{color:#fff;background:#17a486}.reject{color:#a23261;background:#ffe7f0}.empty-state{padding:50px;text-align:center;color:#8f7aa1}
.compact-head{align-items:flex-end}.compact-head .primary-button{padding:0 20px;white-space:nowrap}.manager-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.manager-card{overflow:hidden;border:1px solid rgba(255,255,255,.6);border-radius:27px;background:#fff;box-shadow:var(--shadow)}.manager-photo{position:relative;display:grid;place-items:center;height:210px;overflow:hidden;font-size:68px;background:linear-gradient(145deg,#ffe784,#ff8abd 55%,#9467ee)}.manager-photo img{width:100%;height:100%;object-fit:cover}.listing-status{position:absolute;left:13px;top:13px;padding:7px 10px;border-radius:999px;color:#493111;font-size:10px;text-transform:uppercase;background:#ffe259}.listing-status.published{color:#fff;background:#17a486}.manager-body{padding:18px}.manager-body small{color:#8e7a9f}.manager-body h2{margin:7px 0;font-size:20px}.manager-body p{color:#7c688e;font-size:12px}.manager-body>strong{display:block;margin:12px 0;color:#7027d7;font-size:20px}.manager-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.manager-actions a,.manager-actions button{height:38px;padding:0 12px;border:0;border-radius:11px;font-size:11px;font-weight:850;text-decoration:none}.manager-actions a{display:inline-flex;align-items:center;color:#fff;background:linear-gradient(135deg,#752bdc,#ff4d9d)}.manager-actions button{color:#9b4067;background:#ffe8f1;cursor:pointer}.empty-manager{padding:70px 25px;border-radius:30px;text-align:center;background:rgba(255,255,255,.95);box-shadow:var(--shadow)}.empty-manager>span{font-size:68px}.empty-manager h2{margin:12px 0 6px;font-size:30px}.empty-manager p{margin:0 auto 22px;max-width:540px;color:#806c92}.empty-manager .primary-button{padding:0 22px}
.listing-editor{display:grid;gap:16px}.editor-section{padding:25px;border:1px solid rgba(255,255,255,.65);border-radius:27px;background:rgba(255,255,255,.96);box-shadow:0 18px 55px rgba(41,12,82,.13)}.editor-title{display:flex;align-items:center;gap:13px;margin-bottom:21px}.editor-title>span{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:15px;color:#fff;font-size:16px;font-weight:900;background:linear-gradient(145deg,#762dda,#ff4d9d)}.editor-title h2{margin:0;font-size:20px}.editor-title p{margin:3px 0 0;color:#8e7b9f;font-size:12px}.editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.editor-fields.four{grid-template-columns:1.4fr .7fr .7fr .7fr 1fr}.editor-fields label,.description-field{display:grid;gap:6px;color:#69547d;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.editor-fields label.wide{grid-column:1/-1}.editor-fields input,.editor-fields select,.description-field textarea{width:100%;border:1px solid #e6ddee;border-radius:13px;outline:0;color:#2b174c;font-size:14px;text-transform:none;letter-spacing:0;background:#fff}.editor-fields input,.editor-fields select{height:49px;padding:0 13px}.description-field textarea{padding:14px;resize:vertical;line-height:1.55}.editor-fields input:focus,.editor-fields select:focus,.description-field textarea:focus{border-color:#974bea;box-shadow:0 0 0 4px rgba(151,75,234,.11)}.description-field small{color:#9b89aa;font-weight:600;text-transform:none}.upload-zone{position:relative;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:2px dashed #cbb6df;border-radius:20px;color:#725488;text-align:center;background:#fbf7fe;cursor:pointer}.upload-zone:hover{border-color:#8e43dc;background:#f8efff}.upload-zone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-zone>span{font-size:36px}.upload-zone strong{font-size:14px}.upload-zone small{color:#9b88aa}.existing-images{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:14px}.existing-images label{overflow:hidden;border:1px solid #e8ddef;border-radius:14px;background:#faf6fc}.existing-images img{display:block;width:100%;height:95px;object-fit:cover}.existing-images span{display:block;padding:7px;color:#8c466c;font-size:10px;text-align:center}.editor-submit{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:10px 0}.editor-submit>a{color:#fff;font-weight:800}.editor-submit .primary-button{padding:0 24px}
@media(max-width:1000px){.manager-grid{grid-template-columns:repeat(2,1fr)}.editor-fields.four{grid-template-columns:repeat(3,1fr)}.existing-images{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.portal-header{height:70px}.user-chip{display:none}.portal-main{padding-top:8px}.auth-shell{grid-template-columns:1fr;gap:15px}.auth-story{padding:20px 8px;text-align:center}.auth-story h1{font-size:44px}.auth-story>p:last-child{margin-inline:auto}.story-globe{width:105px;height:105px;margin:0 auto 20px;font-size:73px}.story-globe span{width:34px;height:34px;font-size:18px}.auth-card{padding:13px 20px 25px}.dashboard-wrap{padding-top:25px}.dashboard-grid{grid-template-columns:1fr}.dashboard-head{align-items:flex-start}.profile-bubble{width:64px;height:64px;border-radius:22px}.approval-item{grid-template-columns:45px 1fr}.approval-actions{grid-column:1/-1}.admin-stats{overflow-x:auto}.status-card{padding:32px 20px}.auth-form.two-columns{grid-template-columns:1fr}.auth-form .wide{grid-column:auto}.compact-head{align-items:flex-start;flex-direction:column}.manager-grid{grid-template-columns:1fr}.editor-section{padding:18px}.editor-fields,.editor-fields.four{grid-template-columns:1fr}.editor-fields label.wide{grid-column:auto}.existing-images{grid-template-columns:repeat(2,1fr)}.editor-submit{justify-content:space-between}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.location-fields{display:grid;grid-template-columns:.7fr .7fr 1.6fr;gap:13px}.location-fields label{display:grid;gap:6px;color:#69547d;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.location-fields input,.location-fields select{width:100%;height:49px;padding:0 13px;border:1px solid #e6ddee;border-radius:13px;outline:0;color:#2b174c;font-size:14px;text-transform:none;letter-spacing:0;background:#fff}.location-fields input:focus,.location-fields select:focus{border-color:#974bea;box-shadow:0 0 0 4px rgba(151,75,234,.11)}.map-picker-actions{display:flex;align-items:center;gap:14px;margin-top:15px}.map-picker-actions small{color:#8e7b9f}.map-picker-button{height:45px;padding:0 16px;border:0;border-radius:13px;color:#fff;font-weight:850;background:linear-gradient(135deg,#752bdc,#ff4d9d);cursor:pointer}.map-picker-button:disabled{opacity:.65;cursor:wait}.map-picker-shell{margin-top:15px;overflow:hidden;border:1px solid #e6ddee;border-radius:18px;background:#faf6fc}.map-picker{position:relative;width:100%;height:390px}.map-picker::after{content:"⌖";position:absolute;z-index:3;left:50%;top:50%;display:grid;place-items:center;width:38px;height:38px;border:3px solid #fff;border-radius:50%;color:#fff;font-size:22px;background:#ff4d9d;box-shadow:0 8px 24px rgba(67,18,94,.35);transform:translate(-50%,-100%);pointer-events:none}.map-picker-note{padding:10px 14px;color:#725488;font-size:11px;background:#fff}.map-picker-error .map-picker{display:grid;place-items:center;height:160px;padding:25px;color:#806c92;text-align:center}.map-picker-error .map-picker::after{display:none}@media(max-width:760px){.location-fields{grid-template-columns:1fr}.map-picker-actions{align-items:stretch;flex-direction:column}.map-picker{height:320px}}
