/* PFK NUK WEB LAB — Edition 05. Editorial workshop UI.
   Original campus identity: paper, ink, field green, vermilion. No external dependencies. */
:root{--ink:#15241f;--body:#53625a;--muted:#6e7b72;--line:#cdd5c9;--bg:#f1f0e9;--surface:#fafaf4;--purple:#ef693e;--purple-dark:#d8522c;--green:#327e64;--r:5px;--shadow:3px 4px 0 rgba(26,48,37,.11);font-family:'Trebuchet MS','Segoe UI',system-ui,sans-serif;color:var(--ink);background:var(--bg)}
body{background-color:var(--bg);background-image:linear-gradient(to right,#1b3e3010 1px,transparent 1px);background-size:88px 88px}a,button{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #ee6c3d;outline-offset:3px}::selection{background:#f8ae86;color:#14251c}
/* SHELL: navigation as printed workshop directory */
.app-shell{grid-template-columns:248px minmax(0,1fr)}.sidebar{background:#183b32;color:#fffef3;padding:26px 17px 18px;border-right:5px solid #ef693e;scrollbar-color:#4b6c63 transparent}.sidebar:before{content:'';position:absolute;top:0;left:0;right:5px;height:5px;background:repeating-linear-gradient(90deg,#f5c54a 0 32px,#ef693e 32px 64px,#d9e4bc 64px 96px)}.sidebar-top{padding-bottom:20px;border-bottom:1px solid #ffffff26}.brand{padding:0 4px;gap:11px}.logo{border-radius:1px;background:#f4c753;color:#153b31;box-shadow:none;transform:rotate(-5deg);width:41px;height:41px}.logo span{font:900 23px/1 'Trebuchet MS',sans-serif;transform:none}.logo i{background:#ef693e;bottom:-3px;right:-4px;width:8px;height:8px;border-radius:0}.brand-words strong,.auth-brand-name strong{font-size:15px;letter-spacing:-.6px;line-height:1.1}.brand-words b,.auth-brand-name b{color:#f8c75d;font-weight:950}.brand-words small,.auth-brand-name small{color:#a9c7b8;font-size:8px;letter-spacing:1.65px}.sidebar .side-label{padding:27px 11px 14px;color:#91afa0;font-family:Consolas,ui-monospace,monospace;font-size:9px;letter-spacing:1.2px}.sidebar .side-label-secondary{padding-top:27px}.side-nav{gap:3px}.navlink{min-height:49px;border-radius:2px;padding:12px 12px;color:#c9d9cf;font-size:12px;font-weight:650;gap:12px;transition:color .17s,background .17s;letter-spacing:.05px}.navlink .icon{width:17px;height:17px;opacity:.7}.navlink:hover{background:#ffffff18;color:#fff}.navlink.active{background:#f2efe1;color:#203e32;border-radius:2px;font-weight:800;box-shadow:3px 3px 0 #ef693e}.navlink.active .icon{color:#c55d3a}.navlink.active:before{content:none}.sidebar-tip{background:#e8eacb;border:0;color:#1e4235;border-radius:1px;padding:14px 15px 17px;margin:14px 3px 20px;overflow:hidden;min-height:197px}.tip-serial{display:flex;justify-content:space-between;font:700 9px ui-monospace,Consolas,monospace;letter-spacing:1.1px;padding-bottom:9px;border-bottom:1px solid #729186}.tip-serial span{color:#b8512e}.sidebar-tip-art{width:95px;height:75px;margin:11px 0 6px;background:#f5c654;display:flex;align-items:center;justify-content:center;border:2px solid #23483a;transform:rotate(-7deg);box-shadow:7px 6px 0 #ef693e}.sidebar-tip-art span{font:900 28px ui-monospace,Consolas,monospace}.sidebar-tip strong{font-size:16px;font-weight:850;letter-spacing:-.5px;line-height:1.18}.sidebar-tip small{color:#426554;font-size:10px;line-height:1.5;margin-top:9px}.side-user{border-top:1px solid #7090877b;padding:16px 8px 12px}.avatar,.top-avatar{background:#e9eacb;color:#1e493a;border-radius:2px;font:900 18px 'Trebuchet MS',sans-serif}.user-name strong{font-size:12px}.user-name small{color:#9cb9ad}.logout{border:1px solid #78998c4a;background:#15372e;border-radius:2px;color:#e9f0e6;font-size:11px;min-height:44px}.logout:hover{background:#f0c958;color:#163a31}
.topbar{height:74px;border-bottom:2px solid #193b31;background:#f7f6ef;padding:0 36px}.lab-topmark{color:#ee663e;font:900 10px ui-monospace,Consolas,monospace;letter-spacing:1.2px;border-right:1px solid #bac8ba;padding-right:18px;white-space:nowrap}.lab-topmark span{color:#223c32}.breadcrumb{font-size:11px;color:#6c7e74;font-weight:600}.breadcrumb strong{color:#193e33;font-weight:850}.breadcrumb .icon{color:#db6c4a}.topbar-domain{color:#234739;border:1px solid #b5c6b8;background:#fff;padding:9px 13px;border-radius:2px;font:700 11px ui-monospace,Consolas,monospace}.domain-indicator{width:7px;height:7px;background:#62ab75;border-radius:0;transform:rotate(45deg)}.top-avatar{width:34px;height:34px;border:1px solid #afc2b6}.menu-trigger{color:#183b31}.content{max-width:1570px;padding:35px 37px 33px}.app-footer{border-top:2px solid #193d33;margin-top:30px;padding:19px 2px 0;font:700 10px ui-monospace,Consolas,monospace;letter-spacing:.5px;color:#7c8a80}
/* EDITORIAL TYPE & SURFACES */
.welcome-header{margin:0 0 24px;gap:24px}.welcome-header h1{font-size:clamp(30px,3.7vw,50px);font-weight:950;letter-spacing:-2.2px;line-height:1.03;margin:12px 0}.welcome-header p{color:#62746a;font-size:13px;max-width:650px;line-height:1.7}.eyebrow{color:#c55937;font:800 10px ui-monospace,Consolas,monospace;letter-spacing:1.4px}.eyebrow-dot{background:#ef693e;border-radius:0;height:8px;width:8px;box-shadow:none;transform:rotate(45deg)}.eyebrow-divide{color:#e28866}.title-wave{font:800 .5em ui-monospace,Consolas,monospace;color:#e46c43;vertical-align:top;letter-spacing:-2px}.pill{border-radius:2px;font-family:ui-monospace,Consolas,monospace;padding:9px 12px;font-size:10px}.pill-good{background:#d9ebda;color:#225c40;border:1px solid #a5cbb1}.pill-warn{background:#fff0cb;color:#895120;border:1px solid #e3c88d}.tiny-dot,.live-dot{border-radius:1px;box-shadow:none}.is-green,.live-dot{box-shadow:none;background:#3b9d65}.is-amber{box-shadow:none;background:#dda441}
.btn{border-radius:2px;background:#fdfdf6;border:1px solid #9dab9e;color:#183c2d;box-shadow:2px 2px 0 #cbd7cb;font-size:12px;font-weight:850;min-height:44px;transition:transform .15s,box-shadow .15s}.btn:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:3px 3px 0 #abbbb0;background:#fff}.btn-primary{background:#ed6b43;color:#132c25;border:1px solid #a84222;box-shadow:3px 3px 0 #163e33}.btn-primary:hover:not(:disabled){background:#ff7950;box-shadow:4px 4px 0 #163e33}.btn-secondary{background:#fdfcf5}.btn-quiet{background:#e9ece2}.tag{background:#e5ebdc;color:#42654f;border:1px solid #c7d5c4;border-radius:1px;letter-spacing:1px;font:800 10px ui-monospace,Consolas,monospace}.muted{color:#748778}
/* HORIZONTAL COVER: magazine poster, not a gradient stock hero */
.hero-banner,.admin-hero,.student-hero{background:#173e34;border:2px solid #142d27;border-radius:2px;box-shadow:6px 6px 0 #e1b45d;min-height:255px;margin-bottom:30px;padding:35px 39px;isolation:isolate}.hero-banner:after{background:repeating-linear-gradient(90deg,transparent 0 79px,#f6efdb13 79px 80px),repeating-linear-gradient(0deg,transparent 0 79px,#f6efdb10 79px 80px);mask-image:none;opacity:.6}.hero-banner:before{content:'WEB / LAB';position:absolute;bottom:-16px;right:5px;font:1000 clamp(55px,10vw,180px)/.9 'Trebuchet MS',sans-serif;letter-spacing:-11px;white-space:nowrap;color:#ffffff0c;z-index:0;pointer-events:none}.hero-content{max-width:570px}.hero-kicker{color:#f9c858;letter-spacing:1.4px;font:800 10px ui-monospace,Consolas,monospace}.hero-kicker-dot{background:#ef6c44;border-radius:1px;box-shadow:none}.hero-content h2{font-size:clamp(29px,3.3vw,46px);font-weight:950;line-height:1.04;letter-spacing:-1.8px;margin:17px 0 14px;color:#fbfaef}.hero-content h2 em{font-style:normal;color:#f5c951;text-decoration:underline;text-decoration-thickness:4px;text-underline-offset:8px}.hero-content p{font-size:12px;color:#e2ece3;max-width:350px}.hero-chips{margin-top:23px}.hero-chips span{background:none;border:1px solid #a2b7a3;color:#fbf8e9;border-radius:1px;font:700 10px ui-monospace,Consolas,monospace;padding:7px 10px}.hero-art.hero-orbit{display:none}.lab-poster{width:265px;height:230px;right:8%;top:15px;display:block;background:#f6c754;transform:rotate(6deg);border:3px solid #203b2f;box-shadow:11px 11px 0 #ed6a43;padding:15px;color:#183b32}.lab-poster strong{display:block;font:1000 65px/.82 'Trebuchet MS',sans-serif;letter-spacing:-5px;margin-top:13px}.lab-poster strong span{font-size:34px;margin-left:8px;color:#e86844}.poster-index,.poster-base{font:800 9px/1.3 ui-monospace,Consolas,monospace;letter-spacing:1px}.poster-base{position:absolute;bottom:12px;right:13px;border-top:2px solid #173b30;padding-top:5px}.student-hero .hero-art{right:7%;top:3%;transform:rotate(5deg)}.student-hero .art-glow{display:none}.student-hero .code-window{border:2px solid #17382b;background:#f5f0dd;border-radius:0;box-shadow:10px 11px 0 #e96b45;transform:none;right:0;top:24px;width:335px}.student-hero .window-top{height:34px;border-bottom:2px solid #16372a;background:#f3c655}.student-hero .window-top i{border-radius:0;width:7px;height:7px;background:#163b31}.student-hero .window-top i:nth-child(2){background:#ed693f}.student-hero .window-top i:nth-child(3){background:#f6f2e8}.student-hero .window-top small{color:#16392e;font-weight:800}.student-hero .fake-code{color:#204b3a}.student-hero .fake-code b{color:#939e8e}.student-hero .fake-code em{color:#ba4d29}.student-hero .fake-code i{color:#347c63}.student-hero .fake-code u{color:#e45e36}
/* TABULAR STATS AND CARDS */
.stat-grid{gap:12px;margin-bottom:27px}.stat-card{position:relative;min-height:158px;padding:21px 23px 22px;border-radius:1px;border:1px solid #c0cfc0;border-top:4px solid #1b4839;background:#fefdf6;box-shadow:var(--shadow)}.stat-card:nth-child(2){border-top-color:#ef6d43}.stat-card:nth-child(3){border-top-color:#e1b34f}.stat-top>span:first-child{font:800 11px ui-monospace,Consolas,monospace;text-transform:uppercase;color:#536f5b;line-height:1.4}.stat-icon{width:38px;height:38px;border-radius:1px;border:1px solid #cdd6c8;background:#f0f1e4;color:#215542}.tint-violet,.tint-blue,.tint-green,.tint-orange{background:#e8ebe0;color:#285944}.tint-orange{background:#f7dfcb;color:#9a4b29}.stat-value{font-size:clamp(31px,3vw,45px);font-weight:950;line-height:1.12;letter-spacing:-2px;margin:19px 0 9px;color:#16372c}.stat-text{font-size:29px;letter-spacing:-1px}.stat-suffix{font-size:12px;font-weight:700;letter-spacing:0}.stat-desc{font-size:10px;color:#6b7c6f}.progress{background:#dce8d8;border-radius:0;height:6px}.progress span{background:#ea6d45;border-radius:0}
.card{background:#fdfcf5;border:1px solid #c4d0c1;box-shadow:var(--shadow);border-radius:1px;padding:25px;margin-bottom:22px}.card-head{border-bottom:1px solid #d0d9ce;padding-bottom:18px;margin-bottom:22px}.head-icon{border-radius:1px;border:1px solid #d2dcd0;width:43px;height:43px}.card-head h2{font-size:17px;font-weight:900;letter-spacing:-.6px;color:#1b3f32}.card-head p{color:#708172}.section-grid{gap:16px}.section-grid>.card{margin:0}.note{border-radius:1px;border:1px solid #ccd4c5;color:#536b59;background:#f4f1e4}.note-neutral{background:#eff1e7}.note-error{background:#ffe7df;border-color:#f1b39e}.note .icon{color:#c46441}.search-box{border-radius:1px;border:1px solid #bfcdbd;background:#fffef9}.search-box input{background:transparent}.search-box .icon{color:#53765e}
.form-label{color:#355241;font-size:11px;font-weight:800}.form-label small{font-weight:600;color:#859283}.form-label input,.form-label select,.form-label textarea,.form-stack input:not([type=checkbox]):not([type=file]){background:#fffefa;border:1px solid #bfcabd;border-radius:1px;color:#153b2c}.form-label input:focus,.form-label select:focus,.form-label textarea:focus{border-color:#dc6e4b;box-shadow:0 0 0 2px #f3d7c6}.check-row{background:#eef0e5;border-radius:1px;border-color:#d2ddcd}.check-row input{accent-color:#ef6b42}.check-row strong{color:#274b3c}.upload-zone{border:2px dashed #9daf9e;background:#f3f4e9;border-radius:1px}.upload-zone:hover{border-color:#e97049;background:#fff7eb}.upload-icon,.upload-picker{color:#345d48;background:#e0e8d8;border-radius:1px}.selected-file{color:#526e5c}
/* Site and database panels */
.website-url{background:#e9eee3;border:1px solid #bbcbbe;border-radius:1px;box-shadow:none}.website-url-main strong{font-family:ui-monospace,Consolas,monospace;color:#1d5a42;font-size:clamp(12px,1.4vw,18px);overflow-wrap:anywhere}.field-overline,.connection-label{font:800 10px ui-monospace,Consolas,monospace;letter-spacing:1.1px;color:#72866e}.square-action{border-radius:1px;border-color:#b8cbb7;color:#315e48;background:#fbfbf2}.square-action:hover{background:#efd1b5;color:#69371d}.db-status{color:#2b8257}.db-details{background:#f2f4e9;border:1px solid #cdd9ca;border-radius:1px}.db-details code{color:#234c39}.empty-db{background:#f5f5eb;border:1px dashed #b4c8b2;border-radius:1px}.empty-symbol{color:#db6942;background:#f7ddce;border-radius:1px}.connection-details{border-radius:1px;background:#edf1e6}.connection-details code{color:#1b4937}.file-row{border-bottom-color:#e0e5db}.file-icon{border-radius:1px;background:#e5eee4;color:#3b6650}.file-row:hover{background:#f1f2e7}.file-name strong{color:#204535}.file-size{color:#788675}.file-no-match{color:#b65f40}.list-tools{background:#f2f3e8;border-radius:1px}.users-table th{background:#e7eadf;color:#546f5b;font:800 10px ui-monospace,Consolas,monospace;letter-spacing:.6px}.users-table td{border-bottom:1px solid #e4e9df}.users-table tr:hover td{background:#f3f4e9}.person-avatar{border-radius:1px;background:#e0ebd7;color:#285f42}.role-tag{background:#e8eddf;color:#2b5d42;border-radius:1px}.table-site,.table-db{font-family:ui-monospace,Consolas,monospace}.table-site{color:#b35c38}.account-card,.accounts-card{overflow:hidden}
/* SECONDARY SCREENS */
.security-aside{background:#183e32;border-radius:1px;color:#fff7df;box-shadow:5px 5px 0 #ed6e46}.security-aside h3{color:#fff6df}.security-aside p{color:#cae0d3}.security-rule{color:#e4ede0}.security-visual{background:#ebc355;border-radius:1px;color:#193f32}
.alert{border-radius:1px;box-shadow:2px 2px 0 #e3b395}.alert-success{background:#dcebd8;border-color:#90b49b;color:#2d6544}.alert-error{background:#ffe7dc;color:#a64226;border-color:#efb2a0}
/* SIGN-IN: split between bold black-and-paper printed covers */
.auth-layout{background:#f1f1e6;min-height:100dvh;grid-template-columns:minmax(0,1.12fr) minmax(410px,.88fr)}.auth-feature{background:#183f33;color:#fff8df;position:relative;overflow:hidden;padding:38px 48px 27px}.auth-feature:before{content:'';position:absolute;width:480px;height:480px;border:65px solid #f4c755;right:-265px;top:15%;transform:rotate(24deg);opacity:.95;pointer-events:none}.auth-feature:after{content:'WEB';position:absolute;right:-40px;bottom:-35px;font:1000 clamp(120px,15vw,300px)/1 'Trebuchet MS',sans-serif;letter-spacing:-17px;color:#f4c75518;pointer-events:none}.auth-brand{position:relative;z-index:3}.auth-brand-name b{color:#ffcd57}.auth-visual{height:100%;min-height:580px;position:relative}.auth-gridlines{background:repeating-linear-gradient(90deg,transparent 0 83px,#eff2e20a 84px),repeating-linear-gradient(0deg,transparent 0 83px,#eff2e20a 84px);inset:0;opacity:1}.auth-orb{display:none}.login-edition{position:absolute;top:12px;right:-7px;font:800 9px ui-monospace,Consolas,monospace;letter-spacing:1px;color:#fce4ab;z-index:3;writing-mode:vertical-rl}.login-edition span{display:block;margin-top:30px;color:#f57b4e}.auth-message{position:relative;padding:110px 0 20px;max-width:690px;z-index:2}.auth-message h1{font-size:clamp(55px,6.5vw,99px);line-height:.94;letter-spacing:-5px;font-weight:950;margin:24px 0 28px}.auth-message h1 em{color:#f8cc53;font-style:normal;text-decoration:underline;text-decoration-color:#ed724c;text-decoration-thickness:8px;text-underline-offset:11px}.auth-message p{color:#dde9de;max-width:430px;font-size:15px}.auth-message .hero-chips{margin-top:28px}.auth-floating-card{position:absolute;bottom:4%;right:0;z-index:3;transform:rotate(5deg);border-radius:0;background:#f2eede;border:2px solid #14382f;box-shadow:9px 9px 0 #e87046;color:#204436;width:270px}.auth-floating-top{background:#f2c758;color:#173d32;border-bottom:2px solid #143b32}.auth-floating-top span{color:#173e31}.floating-code{color:#244f3d}.floating-code p span{color:#8e9d8b}.floating-code p b{color:#d75e40}.floating-code p em{color:#29735c}.floating-code p i{color:#ad542c}.auth-foot{position:relative;z-index:3;color:#c3d7c8;border-top:1px solid #65918055;font:700 10px ui-monospace,Consolas,monospace;letter-spacing:.5px}.auth-spark{color:#f3cb57}.auth-form-panel{background:#f1f0e8;padding:45px 52px;position:relative;border-left:5px solid #f2c957}.auth-form-wrap{max-width:475px}.auth-card{background:#fffef5;border:2px solid #1e4536;box-shadow:10px 10px 0 #eed4a2;border-radius:1px;padding:36px 36px 32px}.login-kicker{color:#bd593d;font:850 10px ui-monospace,Consolas,monospace;letter-spacing:1.5px}.login-kicker .icon{color:#d36145}.auth-card h2{font-size:clamp(26px,3vw,39px);letter-spacing:-1.6px;color:#1d4334;line-height:1.1;font-weight:950}.auth-card h2 span{color:#e46d49}.auth-subtitle{color:#677c6c;font-size:12px;line-height:1.7}.login-form .form-label{color:#2e5441}.auth-input-wrap{background:#f5f6ec!important;border:1px solid #bdcdbd;border-radius:1px}.auth-input-wrap input{background:transparent!important;border:0!important;box-shadow:none!important}.auth-input-wrap .icon{color:#7c9583}.password-toggle{color:#53785c}.login-submit{background:#ee7046;font-size:13px;min-height:49px}.auth-help{border-radius:1px;background:#ebeee2;color:#58705e;border-top:2px solid #e3c55e;padding:15px}.login-footer{font:700 10px ui-monospace,Consolas,monospace;letter-spacing:1px;color:#849588}.auth-mobile-brand{color:#173c32}
/* CODE WORKSHOP: restrained professional dark with warm-orange action */
.studio-heading h1{font-size:clamp(29px,3.4vw,46px);font-weight:950;color:#15392d;letter-spacing:-2px}.studio-heading h1 span{color:#e66c46;font:900 .46em ui-monospace,Consolas,monospace;vertical-align:top}.studio-eyebrow{color:#b85538;font:800 10px ui-monospace,Consolas,monospace;letter-spacing:1.2px}.studio-heading p{color:#6b7c70}.studio-live{background:#72ba76;border-radius:1px;box-shadow:none}.studio-shell{border:3px solid #1b3f32;box-shadow:6px 6px 0 #edc35b;border-radius:1px;background:#182720;color:#d7e4da}.studio-titlebar{background:#213b32;border-bottom:2px solid #456355}.studio-brand{color:#f7f7e4;letter-spacing:1.4px}.studio-brand b{color:#f2c755}.studio-brandmark{background:#ef7048;color:#1c392c;border-radius:1px}.studio-build{color:#bacbbc}.studio-chip{color:#cbdacf}.studio-main{grid-template-columns:235px minmax(0,1fr)}.studio-menubar{background:#263d33;border-bottom:1px solid #4a6755}.studio-menubar button{color:#d7e6d7;border-radius:1px}.studio-menubar button:first-child{background:#ef7046;color:#142e25;font-weight:900}.studio-menubar button:hover{background:#405f4d;border-color:#8fa99a}.studio-tools-right select{border-radius:1px;background:#1d382c;border-color:#527563}.studio-explorer{background:#1c3027;border-right:1px solid #456453}.studio-explorer-top{color:#b7cdb9}.studio-explorer-foot{border-color:#395844;color:#9db4a3}.studio-folder-emoji,.studio-dir:before{color:#f6c759}.studio-search-files{background:#172c23;border:1px solid #5d7965;border-radius:1px}.studio-file-item{border-radius:1px}.studio-file-item:hover{background:#305441}.studio-file-item.is-active{background:#34533e;box-shadow:inset 3px 0 #ef784e}.studio-file-type{border-radius:1px;color:#f0bf67;background:#394a36}.studio-file-item[data-studio-file$=".php"] .studio-file-type{background:#60432d;color:#f5bf84}.studio-file-item[data-studio-file$=".css"] .studio-file-type{background:#254c57;color:#98dee0}.studio-file-item[data-studio-file$=".js"] .studio-file-type{background:#575032;color:#f0dd89}.studio-editor-side{background:#1b2425}.studio-tabbar{background:#1b2c25;border-color:#405e4c}.studio-tab{background:#294236;border-color:#405f4d}.studio-tab.is-active{background:#1e2927}.studio-tab.is-active:after{background:#ee7049;height:3px}.studio-pathbar{background:#243a31;border-color:#455f52}.studio-pathbar #studioSavedText{color:#a6cbb0}.studio-editor-form,.studio-editor-form .CodeMirror,.studio-editor-form .code-editor{background:#252b2d}.studio-editor-form .CodeMirror-gutters{border-right-color:#4b504e}.studio-shortcuts{background:#22372c;border-color:#3a5446}.studio-statusbar{background:#e66d47;color:#143528;font-weight:850}.studio-status-right span{border-left-color:#9d4c33}.studio-info{color:#566e5f}.studio-info b{color:#315e45}.studio-modal{border-radius:1px;border:2px solid #163d31;box-shadow:9px 9px 0 #eebf5a}.studio-modal h2{color:#163e32}.studio-modal-top span{color:#cd5b34}.studio-confirm{border-radius:1px;background:#ee6a43;color:#173d30;border-color:#b95639!important}.studio-modal-actions button{border-radius:1px}.studio-shell .CodeMirror-dialog{background:#3a463c}.studio-shell .CodeMirror-hints{border-radius:1px}
/* RESPONSIVE: navigation still functional, editorial hero uncluttered */
@media(max-width:1320px){.lab-poster{right:3%}.auth-floating-card{right:-25px}.auth-feature{padding-left:36px;padding-right:36px}}
@media(max-width:1080px){.app-shell{grid-template-columns:218px minmax(0,1fr)}.sidebar{padding:23px 12px 16px}.lab-topmark{display:none}.content{padding:27px 22px}.topbar{padding:0 24px}.hero-content{max-width:67%}.lab-poster{width:220px;height:200px}.lab-poster strong{font-size:51px}.student-hero .hero-art{right:-70px;transform:rotate(5deg) scale(.86)}.auth-feature{padding:32px}.auth-form-panel{padding:28px}.auth-card{padding:27px}.auth-floating-card{display:none}}
@media(max-width:760px){.app-shell{display:block}.sidebar{width:285px;position:fixed;z-index:40;height:100dvh;min-height:0;transform:translateX(-105%);top:0;bottom:0;left:0;box-shadow:none}.app-shell.menu-open .sidebar{transform:translateX(0)}.app-shell.menu-open .mobile-shade{background:#143c3299}.topbar{height:62px;padding:0 16px}.content{padding:23px 16px}.hero-banner{min-height:220px;padding:25px}.hero-content{max-width:100%}.hero-art,.lab-poster,.student-hero .hero-art{opacity:.12;right:-180px}.hero-content h2{font-size:clamp(27px,6vw,39px)}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.stat-card{min-height:142px;padding:16px}.stat-grid>.stat-card:last-child{grid-column:span 2}.stat-value{font-size:34px}.card{padding:19px}.topbar-domain{font-size:10px}.auth-layout{display:block}.auth-feature{padding:25px;min-height:375px}.auth-visual{min-height:270px}.auth-message{padding-top:60px}.auth-message h1{font-size:clamp(50px,11vw,72px);letter-spacing:-3px}.auth-feature:before{width:300px;height:300px;border-width:36px;right:-180px;top:40px}.auth-form-panel{padding:36px 25px 52px;border-left:0;border-top:5px solid #f2c957}.auth-form-wrap{max-width:500px}.login-footer{margin-top:22px}.studio-main{grid-template-columns:1fr}.studio-shell{min-height:650px}.studio-heading{align-items:flex-start}.studio-info{line-height:1.7}}
@media(max-width:480px){.topbar{padding:0 12px}.topbar-domain{display:none}.welcome-header h1{font-size:32px;letter-spacing:-1.4px}.hero-banner{box-shadow:4px 4px 0 #e1b45d;padding:22px 17px}.hero-content h2{font-size:30px}.hero-chips span{font-size:9px}.stat-grid{gap:9px}.stat-value{font-size:28px}.stat-text{font-size:22px}.stat-top>span:first-child{font-size:10px}.card{padding:16px}.card-head h2{font-size:15px}.auth-feature{min-height:345px}.auth-message h1{font-size:48px;margin:16px 0 21px}.auth-message p{font-size:11px}.auth-message .hero-chips{gap:5px}.auth-form-panel{padding:28px 16px 40px}.auth-card{padding:24px 19px;box-shadow:5px 5px 0 #eed4a2}.auth-card h2{font-size:28px}.sidebar-tip{margin-top:12px}.studio-menubar{padding:6px}.studio-shortcuts{display:none}.studio-shell{box-shadow:4px 4px 0 #edc35b}.studio-heading h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Small-screen contrast and shared label refinements */
@media(max-width:760px){.auth-feature:before{opacity:.16}.auth-feature:after{opacity:.28}.login-edition{opacity:.7}.auth-message h1{color:#fff9e8}}
@media(max-width:480px){.auth-feature:before{opacity:.12}.auth-message h1{position:relative;text-shadow:0 1px 0 #153d32}.auth-message h1 em{color:#f7c44d}.auth-message p{color:#e5ece0}}
/* Neutralize inherited violet accents on authentication and help labels */
.login-kicker{background:#f9e9d6;color:#b44e30;border-radius:1px}.login-kicker .icon{color:#b44e30}.auth-help .icon{color:#be613e}.auth-input-wrap input::placeholder,.form-label input::placeholder{color:#8ea08f}.auth-input-wrap:focus-within{border-color:#e8744c;box-shadow:0 0 0 2px #fbe4d3}.studio-heading .btn{box-shadow:2px 2px 0 #b6c3b6}

/* PFK NUK / EMBLEM + BULK ROSTERS, EDITION 08 */
.emblem-logo{display:inline-flex;align-items:center;justify-content:center;flex:none;width:53px;height:53px;border-radius:50%;background:#f4f0d9;border:1px solid #ffffff63;box-shadow:0 1px 1px #0001}
.emblem-logo img{width:100%;height:100%;object-fit:contain;display:block}
.auth-brand .emblem-logo{width:74px;height:74px;background:#faf9ec}
.auth-mobile-brand .emblem-logo{width:48px;height:48px}
.paste-card textarea{display:block;min-height:216px;width:100%;border:1px solid #bec8bd;background:#fffef8;color:#173b31;border-radius:3px;resize:vertical;padding:15px 14px;font:500 14px/1.7 'DejaVu Sans','Segoe UI',sans-serif;letter-spacing:.1px}
.paste-card textarea:focus{outline:2px solid #df673e;outline-offset:1px}
.paste-count{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;color:#607066;font-size:11px;margin-top:-7px}
.paste-count strong{color:#173b31;background:#e7e9d9;padding:7px 10px;border:1px solid #cfd7c7;white-space:nowrap}
.import-file-alt{border:1px dashed #a9b6a8;padding:12px;background:#f2f4e9}
.import-file-alt summary{cursor:pointer;color:#214b3b;font-weight:750;font-size:12px}
.import-file-alt .upload-zone{margin-top:13px}
.groups-teaser{margin-bottom:24px}
.group-pills{display:flex;gap:10px;flex-wrap:wrap;padding:0 0 8px}
.group-chip{display:inline-flex;flex-direction:column;min-width:135px;gap:5px;background:#eaf0e3;border:1px solid #c7d5c7;color:#163b31;padding:13px 16px;text-decoration:none;box-shadow:2px 2px 0 #e5bc80}
.group-chip:hover{background:#f8e9cf}
.group-chip strong{font-size:15px}.group-chip span{font-size:11px;color:#65756c}
.group-empty{font-size:12px;color:#607066;padding:10px}
.group-create-card{margin-bottom:24px}.group-create-form{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.group-create-form .form-label{min-width:220px;flex:1}
.groups-title{margin:28px 0 17px}.groups-title h2{font-size:21px;margin:0 0 4px}.groups-title p{font-size:12px;color:#607066;margin:0}
.group-roster{margin-bottom:24px;scroll-margin-top:22px}.group-card-actions{display:flex;gap:8px;flex-wrap:wrap}.group-index{display:grid;place-items:center;background:#e4efe3;color:#164133;font:900 17px ui-monospace,monospace;width:51px;height:51px;flex-shrink:0}
.group-roster .table-site{overflow-wrap:anywhere}.group-roster .users-table td{padding:12px}
.group-empty-large{padding:25px}.group-empty-large h2{font-size:19px}
@media(max-width:680px){.auth-brand .emblem-logo{width:55px;height:55px}.group-create-form{display:flex;flex-direction:column;align-items:stretch}.group-create-form .form-label{width:100%;min-width:0}.group-card-actions{width:100%}.group-card-actions .btn{flex:1}.paste-card textarea{min-height:240px;font-size:13px}}
