/* Vape Room — Modern Studio UI | Visual layer only; works with existing PHP/MySQL API */
:root{
  --ink:#272b30; --muted:#81848b; --line:#ece8e4; --soft:#faf8f5;
  --accent:#a67153; --accent-dark:#855137; --accent-light:#f7eee6;
  --nav:#fff; --white:#fff; --radius:18px;
  font-family:'Manrope','Noto Sans Georgian',system-ui,Arial,sans-serif;
  background:#f6f5f3; color:#272b30; color-scheme:light;
}
html{scroll-behavior:smooth}
body{background:#f6f5f3;color:var(--ink);font-size:13px;letter-spacing:.003em}
::selection{background:#e9d5c4;color:#543824}
:focus-visible{outline-color:#bd9475!important;outline-offset:3px}
/* quiet, tactile controls */
button,a,input,textarea,select{ -webkit-tap-highlight-color:transparent }
input,textarea,select{background:#fff;border:1px solid #e7e4e2;border-radius:12px;padding:12px 15px;min-height:44px;color:#30343a;transition:border-color .22s ease,box-shadow .22s ease,background .22s ease}
input:focus,textarea:focus,select:focus{border-color:#b88869;box-shadow:0 0 0 4px #b888691b;background:#fff}
input::placeholder,textarea::placeholder{color:#adb0b3}
input[type=radio],input[type=checkbox]{min-height:0;accent-color:#9e6748}
label{color:#53545a;font-size:12px;font-weight:750}
.btn{position:relative;isolation:isolate;overflow:hidden;border-radius:12px;min-height:43px;padding:10px 17px;font-weight:760;font-size:12px;border:1px solid #e7e2dd;background:#fff;color:#4e4b48;box-shadow:0 1px 2px #271c1408;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s ease,background .2s ease,border-color .2s ease,color .2s ease}
.btn:hover{transform:translateY(-2px);border-color:#d3bca9;background:#fffaf7;box-shadow:0 8px 19px #62442a12}
.btn:active{transform:translateY(0) scale(.985);box-shadow:none}
.btn-primary{background:linear-gradient(120deg,#a87553 0%,#946140 100%);border-color:#a2704d;color:#fff;box-shadow:0 7px 18px #9e6b4630}
.btn-primary:hover{background:linear-gradient(120deg,#93603d,#805032);border-color:#8c5d3e;color:white;box-shadow:0 11px 24px #9e6b4640}
.btn-primary::after{content:"";position:absolute;top:-120%;bottom:-120%;left:-55%;width:38%;background:linear-gradient(90deg,transparent,#ffffff2d,transparent);transform:skewX(-23deg);transition:left .6s ease;pointer-events:none}
.btn-primary:hover::after{left:140%}
.btn-amber{background:#faf0e7;color:#926345;border-color:#f1decb}.btn-amber:hover{background:#f4e5d7}
.btn-subtle{background:#faf9f8}.btn-danger:hover{background:#fff1f1;border-color:#f0b9b9}
.btn-sm{min-height:34px;border-radius:9px;padding:6px 11px}
/* modern auth card: only login is shown before authentication */
.login-page,.login-shell{min-height:100vh;background:#f7f5f2}
.login-shell{isolation:isolate;position:relative;overflow:hidden;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(ellipse 39% 42% at 14% 19%,#e9d5c730,transparent 100%),radial-gradient(ellipse 37% 49% at 88% 84%,#b7aaa022,transparent 100%),#f7f5f2}
.login-shell::before,.login-shell::after{content:"";position:absolute;z-index:-1;width:470px;height:470px;border:1px solid #bca79435;border-radius:50%;pointer-events:none}
.login-shell::before{top:-250px;right:-130px;box-shadow:0 0 0 70px #d3c2b40a,0 0 0 142px #d3c2b409}
.login-shell::after{bottom:-330px;left:-200px;box-shadow:0 0 0 70px #d3c2b409}
.login-box{width:100%;max-width:463px;background:#ffffffed;border:1px solid #f2e9e1;border-radius:25px;padding:44px;box-shadow:0 40px 95px #45342616,0 7px 23px #45342609;backdrop-filter:blur(16px);animation:riseIn .65s cubic-bezier(.2,.75,.25,1) both}
.portal-logo{gap:13px;color:#2d2c2c}
.logo-mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#b6815d,#7c5138);border:1px solid #b6815d;color:#fff;font-size:25px;box-shadow:0 6px 14px #99674433;transition:transform .3s ease,box-shadow .3s ease}
.logo-mark span{color:#f2d1ae}
.portal-logo:hover .logo-mark{transform:rotate(-7deg) scale(1.055);box-shadow:0 10px 20px #99674436}
.logo-words{font-size:15px;letter-spacing:.13em;color:#292b30}
.logo-words small{font-size:10px;color:#a1a0a0;letter-spacing:0;font-weight:600}
.login-intro{margin:41px 0 28px}.login-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:850;letter-spacing:.15em;color:#a77253;text-transform:uppercase}
.login-eyebrow::before{content:"";height:7px;width:7px;border-radius:50%;background:#c18c6a}
.login-intro h1{font-size:31px;line-height:1.5;letter-spacing:-.045em;color:#272a2d;margin:6px 0 2px}
.login-intro p{font-size:12px;color:#81868b;line-height:1.85}
.login-box .form-stack{gap:18px}.login-box label{color:#54555b}.login-box input{height:49px;background:#fdfcfb}
.login-box .btn-primary{min-height:49px;margin-top:2px;border-radius:12px}
.show-pass{top:15px;right:14px;color:#9e745c;transition:color .2s}.show-pass:hover{color:#744427}
.login-foot{border-top:1px solid #eee9e4;padding-top:23px;margin-top:31px;color:#a5a0a0}
/* light sidebar with energetic navigation details */
.layout{background:#f6f5f3;min-height:100vh}
.sidebar{width:265px;flex:0 0 265px;position:sticky;top:0;height:100vh;min-height:0;padding:0;background:#fff;border-right:1px solid #eee9e3;box-shadow:4px 0 30px #1b1b1b02;color:#58575c;z-index:35}
.side-brand-wrap{padding:29px 24px 27px;border-bottom:1px solid #f0ece7}
.side-scroll{padding:23px 14px 22px;flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#e1d5ca transparent}
.side-label{margin:0 12px 12px;font-size:10px;letter-spacing:.14em;color:#a4a2a0;font-weight:850}
.sidebar nav{display:grid;gap:3px}
.nav-group-label{font-size:10px;text-transform:uppercase;color:#aaa5a1;font-weight:800;letter-spacing:.1em;padding:18px 12px 8px;line-height:1.3}
.nav-group-label:first-child{padding-top:3px}
.nav-link{position:relative;overflow:hidden;width:100%;min-height:47px;border-radius:12px;border:1px solid transparent;display:flex;gap:13px;align-items:center;text-align:left;padding:10px 12px;color:#77777d;font-size:12px;font-weight:700;transition:background .25s ease,color .2s ease,transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.nav-link .nav-icon{height:30px;width:30px;display:flex;align-items:center;justify-content:center;border-radius:9px;flex-shrink:0;color:#99989c;transition:background .25s ease,color .25s ease,transform .3s cubic-bezier(.2,.7,.1,1)}
.nav-link svg{display:block}
.nav-link:hover{background:#f7f3ef;color:#6e4e3a;transform:translateX(3px)}
.nav-link:hover .nav-icon{background:#eee1d5;color:#9e6e50;transform:scale(1.1) rotate(-3deg)}
.nav-link.active{background:linear-gradient(100deg,#f7ece2,#fbf7f3);border-color:#ead9ca;color:#86583e;font-weight:850;box-shadow:0 5px 15px #a5795510}
.nav-link.active::before{content:"";position:absolute;top:10px;bottom:10px;left:0;width:3px;background:#ad7756;border-radius:0 3px 3px 0}
.nav-link.active .nav-icon{color:#98694b;background:#efe0d3}
.nav-link.active:hover{transform:translateX(2px)}
.nav-link .nav-text{flex:1}.nav-link .nav-indicator{opacity:0;transform:translateX(-4px);font-size:15px;color:#af876c;transition:opacity .2s,transform .2s}
.nav-link:hover .nav-indicator,.nav-link.active .nav-indicator{opacity:1;transform:translateX(0)}
.sidebar-bottom{border-top:1px solid #f0ece7;padding:17px 16px 18px;background:linear-gradient(0deg,#faf9f6,#fff)}
.sidebar-person{padding:7px 6px 13px;margin-bottom:7px}
.avatar,.top-avatar{background:linear-gradient(135deg,#dfc7b4,#f9ede3);border:1px solid #ead7c9;color:#875b3f;box-shadow:none;border-radius:13px}
.person-text strong{color:#393a3e;font-size:12px}.person-text small{color:#959498;font-size:10px}
.sidebar-logout{min-height:38px;border-radius:10px;color:#858185;transition:background .2s,color .2s,transform .2s}
.sidebar-logout:hover{background:#f9efeb;color:#a05f4a;transform:translateX(2px);border-color:#f1dfd7}
/* workspace */
.workspace{background:#f6f5f3;min-width:0}
.topbar{height:79px;position:sticky;top:0;z-index:12;padding:0 46px;border-bottom:1px solid #ece7e3;background:#ffffffdf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.crumb{font-size:12px;color:#a5a1a1}.crumb b{font-weight:800;color:#514741}.sep{color:#cebcb1}
.top-right{color:#77767c;gap:10px;font-size:11px}.top-status{font-weight:700}.status-dot{width:7px;height:7px;background:#7ca88b;box-shadow:0 0 0 5px #7ca88b13}
.top-avatar{margin-left:12px;width:35px;height:35px;border-radius:11px;font-size:11px}
.content{max-width:1520px;padding:39px 46px 86px;margin:0 auto}
.page-head{margin-bottom:26px;gap:24px;animation:riseIn .5s both}
.page-head h1{font-size:29px;color:#2b2b30;font-weight:850;letter-spacing:-.045em;line-height:1.55}
.page-head p{font-size:12px;color:#929097;margin-top:2px;line-height:1.9}
.kicker{font-size:10px;color:#a87557;letter-spacing:.12em;font-weight:850;text-transform:uppercase;margin-bottom:6px}
/* signature welcome card */
.welcome-hero{position:relative;isolation:isolate;min-height:151px;border-radius:21px;border:1px solid #e9dcd0;background:linear-gradient(110deg,#fffaf5 0%,#f7ece2 64%,#f3e4d8 100%);padding:26px 34px;display:flex;align-items:center;justify-content:space-between;gap:22px;overflow:hidden;margin-bottom:20px;animation:riseIn .6s .06s both}
.welcome-hero::before{content:"";position:absolute;z-index:-1;right:-66px;top:-180px;width:420px;height:420px;border:1px solid #d9baa35c;border-radius:50%;box-shadow:0 0 0 49px #e7cbb51f,0 0 0 108px #e8c6ad16}
.welcome-hero .welcome-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:10px;font-weight:850;letter-spacing:.13em;color:#a47352;text-transform:uppercase}
.welcome-hero .welcome-eyebrow::before{content:"";width:7px;height:7px;border-radius:99px;background:#aa7a5c;box-shadow:0 0 0 4px #aa7a5c17}
.welcome-hero h2{margin-top:12px;font-size:21px;letter-spacing:-.045em;line-height:1.5;color:#44372f}
.welcome-hero p{margin-top:3px;font-size:11px;color:#938174;line-height:1.85}
.hero-visual{width:126px;height:90px;position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.hero-orb{position:absolute;height:106px;width:106px;border-radius:29px;background:linear-gradient(140deg,#eac7ab,#a97654);transform:rotate(-14deg);box-shadow:0 18px 27px #a3724c30;transition:transform .55s cubic-bezier(.22,.8,.23,1),box-shadow .55s}
.hero-visual::before{content:"";position:absolute;width:120px;height:74px;background:#ffffff8a;backdrop-filter:blur(7px);border:1px solid #ffffffaa;border-radius:17px;transform:translate(-16px,17px) rotate(8deg);box-shadow:0 8px 22px #674e3417}
.hero-visual span{position:relative;font-family:Manrope,Arial,sans-serif;font-size:33px;font-weight:850;color:white;letter-spacing:-.18em;text-shadow:0 1px 4px #855f4444}
.welcome-hero:hover .hero-orb{transform:rotate(3deg) translateY(-4px);box-shadow:0 21px 33px #a3724c40}
/* curated surfaces */
.grid{gap:17px}
.panel,.stat-card,.feature-card,.hero-banner,.quiz-stepper,.item-card{background:#fff;border:1px solid #ebe7e3;box-shadow:0 3px 16px #3b312906;border-radius:17px}
.panel{overflow:hidden}.panel-pad{padding:26px}.panel-title{font-size:15px;color:#33343a;letter-spacing:-.02em}.panel-sub{color:#9a9697}
.stat-card{position:relative;overflow:hidden;min-height:143px;padding:22px 22px 17px;transition:transform .28s cubic-bezier(.2,.7,.1,1),box-shadow .28s ease,border-color .28s ease;animation:riseIn .55s both}
.stat-card:nth-child(2){animation-delay:.06s}.stat-card:nth-child(3){animation-delay:.12s}.stat-card:nth-child(4){animation-delay:.18s}
.stat-card::after{content:"";position:absolute;right:-55px;bottom:-75px;width:120px;height:120px;border-radius:50%;background:#b88c6720;transform:scale(.55);transition:transform .4s ease}
.stat-card:hover{transform:translateY(-5px);border-color:#dfc7b3;box-shadow:0 18px 34px #51382710}
.stat-card:hover::after{transform:scale(1.3)}
.stat-label{color:#8e8c92;font-size:11px;font-weight:700}.stat-icon{background:#f8f0e9;border:1px solid #f1e7dc;border-radius:12px;width:37px;height:37px;color:#a6785a;font-size:16px;transition:transform .3s}
.stat-card:hover .stat-icon{transform:translateY(-2px) rotate(-8deg)}
.stat-value{font-size:31px;font-weight:850;letter-spacing:-.06em;line-height:1.35;color:#302d2d;margin-top:13px}.stat-bottom{font-size:10px;color:#a4a0a1}
.section-head{margin:34px 0 16px}.section-head h2{font-size:17px;color:#2f3035;font-weight:850}.section-head p{color:#a09da0;font-size:11px}
.feature-card{position:relative;overflow:hidden;padding:24px;min-height:199px;transition:transform .3s cubic-bezier(.2,.7,.1,1),box-shadow .3s,border-color .3s;animation:riseIn .55s both}
.feature-card::after{content:"";position:absolute;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#a77756,#e8c5a9);transition:transform .35s}
.feature-card:hover{transform:translateY(-5px);border-color:#e4cdbb;background:white;box-shadow:0 17px 40px #59432a13}
.feature-card:hover::after{transform:scaleX(1)}
.feature-card .feature-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#f6eee7;color:#a6795d;border:1px solid #f1e6db;margin-bottom:20px;transition:transform .3s,background .3s}
.feature-card:hover .feature-icon{transform:translateY(-2px) rotate(-5deg);background:#efdbc9}
.feature-card h3{font-size:14px;font-weight:850;color:#353236}.feature-card p{color:#959097;font-size:11px;line-height:1.9}
.feature-card .feature-action{font-size:12px;font-weight:850;color:#9e6849;padding-top:19px;transition:letter-spacing .2s}
.feature-card:hover .feature-action{letter-spacing:.04em}
.cover-action{cursor:pointer}
.notice{border-radius:16px;border:1px solid #efe0d2;background:linear-gradient(110deg,#fffaf6,#fdf8f2);padding:17px 22px;color:#816c5f}
.notice strong{color:#66503f}.notice .notice-icon{color:#af8465}
/* modern tables, quizzes and uploads */
.table-wrap{overflow:auto}.data-table{border-collapse:separate;border-spacing:0;width:100%}
.data-table th{background:#fcfaf8;color:#948c89;font-size:10px;letter-spacing:.02em;border-bottom:1px solid #ece5de;padding:16px 18px}
.data-table td{color:#68656a;border-bottom:1px solid #f2eeeb;padding:17px 18px;transition:background .2s ease}
.data-table td strong{color:#37363a}.data-table tbody tr:hover{background:#fffbf7}.data-table tbody tr:last-child td{border-bottom:0}
.item-card{padding:20px 22px;margin-bottom:12px;transition:transform .25s,box-shadow .25s,border-color .25s}
.item-card:hover{transform:translateX(3px);box-shadow:0 10px 26px #4332230f;border-color:#e4ccba}
.item-leading{width:46px;height:46px;border-radius:14px;background:#f8eee4;color:#a87958}
.item-body h3{color:#343337;font-size:13px}.item-body p{color:#9b9699}
.tag{border-radius:9px;font-weight:800}.tag.amber{background:#fff6ec;border-color:#f7e4d0;color:#a67747}
.tag.good{background:#edf8f2;color:#458361;border-color:#d9f0e2}.tag.red{background:#fff3f2;color:#b96362;border-color:#f4ddda}
.quiz-stepper{padding:18px}.step-dot.now{background:#faeee4;color:#875b42;border-color:#cda184;box-shadow:0 0 0 4px #bd8a6e16}
.step-dot.done,.progressbar .fill{background:#b07c5a;border-color:#b07c5a}
.quiz-choice{border-radius:13px;transition:transform .22s,border-color .22s,background .22s}
.quiz-choice:hover{transform:translateX(3px);background:#fffaf5;border-color:#d3b69f}
.quiz-choice:has(input:checked){background:#fff3e9;border-color:#bc9779;box-shadow:0 0 0 3px #c6967420}
.question-panel{border-radius:18px}.question-panel h2{color:#292b30}
.quiz-editor-question{border-radius:15px;border:1px solid #eee8e2;background:#fffdfa}
.upload-zone{border-radius:15px;border:1.5px dashed #ddc4b2;background:#fdf9f5;transition:background .2s,border-color .2s}.upload-zone:hover{background:#fff4e9;border-color:#b98967}
.pill-btn{border-radius:11px;transition:transform .22s,background .22s,border-color .22s}.pill-btn:hover{transform:translateY(-2px);border-color:#c99f82}.pill-btn.selected{background:#926449;border-color:#926449;color:#fff;box-shadow:0 7px 15px #8e64422b}
.modal-layer:not([hidden]){background:#2c2d346b;backdrop-filter:blur(6px)}.modal{border-radius:20px;box-shadow:0 28px 65px #29211d30}
.toast{background:#383338;border-radius:13px;box-shadow:0 15px 30px #271e1a2b}
.menu-toggle{border-radius:11px;transition:background .2s,transform .2s}.menu-toggle:hover{background:#f7eee6;transform:scale(1.04)}
/* enter, hover, focus motion with reduced-motion compliance */
@keyframes riseIn{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1190px){.sidebar{width:240px;flex-basis:240px}.topbar{padding:0 28px}.content{padding:30px 28px 65px}.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){
 .sidebar{position:fixed;left:0;top:0;bottom:0;width:269px;max-width:85vw;flex-basis:auto;transform:translateX(-110%);transition:transform .28s cubic-bezier(.2,.7,.2,1);z-index:35;box-shadow:12px 0 36px #302c2715}
 .sidebar.open{transform:translateX(0)}
 .mobile-mask.show{display:block;position:fixed;inset:0;background:#24212770;backdrop-filter:blur(3px);z-index:34}
 .menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px}
 .topbar{height:68px;padding:0 20px}.content{padding:28px 20px 56px}
 .cols-4,.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}
 .top-status,.status-dot{display:none}
}
@media(max-width:580px){
 .login-box{padding:33px 27px;border-radius:21px}.login-intro{margin:33px 0 24px}.login-intro h1{font-size:26px}
 .topbar{padding:0 15px}.content{padding:24px 15px 48px}.page-head{flex-direction:column;gap:13px;align-items:flex-start}.page-head h1{font-size:23px}
 .cols-4,.cols-3,.cols-2,.split{grid-template-columns:1fr}
 .welcome-hero{padding:25px 23px;min-height:132px}.welcome-hero h2{font-size:18px}.hero-visual{display:none}
 .stat-card{min-height:117px}.feature-card{min-height:175px}.panel-pad{padding:19px}.item-card{flex-wrap:wrap}.item-actions{width:100%}.form-grid{grid-template-columns:1fr}.question-panel{padding:22px}.modal{padding:22px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
