
:root{--bg:#171916;--panel:#20231e;--line:#35392f;--gold:#d9c8ab;--text:#f2eee5;--muted:#9da294;--green:#334f43}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:14px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:5px}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}a{color:inherit;text-decoration:none}button{color:inherit;border:0;background:none}h1,h2,h3,p{margin:0}h1{font-family:Georgia,serif;font-size:40px;font-weight:400;letter-spacing:-1.2px;line-height:1.2}h2{font-size:20px;font-weight:500;line-height:1.4}h3{font-size:16px;font-weight:500}p{color:var(--muted);line-height:1.75}small{color:var(--muted);font-size:11px}.brand{display:flex;gap:11px;align-items:center;letter-spacing:2.4px;font-size:17px;font-weight:600}.brand span:not(.brandmark){display:block;font-size:9px;font-weight:400;letter-spacing:5.7px;margin-top:6px;color:var(--gold)}.brandmark{display:flex;align-items:center;justify-content:center;width:40px;height:44px;border:1px solid #766c59;border-radius:7px;color:var(--gold)}.shell{display:flex;min-height:100vh}aside{width:250px;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);padding:35px 22px;background:#1b1e19;display:flex;flex-direction:column}aside .brand{margin-bottom:45px}.navlabel{font-size:9px;letter-spacing:1.8px;color:#7e8677;margin:12px 12px 17px}.nav{display:flex;gap:12px;align-items:center;padding:14px 13px;border-radius:8px;font-size:13px;color:#b0b5a7;text-align:left;margin-bottom:5px}.nav.active{background:#30372b;color:#e4d7be}.nav span:not(.classdot){margin-left:auto;background:#424c39;padding:2px 7px;border-radius:4px;font-size:10px}.nav small{margin-left:auto}.classdot{width:7px;height:7px;border-radius:50%;background:#8d9c76}.aside-bottom{margin-top:auto}.workspace-note{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:14px;border-radius:10px;margin-bottom:15px;color:var(--gold);font-size:12px}.workspace-note small{display:block;margin-top:6px}.main{margin-left:250px;flex:1;min-width:0}header{height:86px;display:flex;justify-content:space-between;align-items:center;padding:0 45px;border-bottom:1px solid var(--line)}.breadcrumb{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.breadcrumb strong{font-weight:400;color:#dedfd6}.header-right{display:flex;align-items:center;gap:24px}.secure{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}.secure span{background:#8fa886;width:5px;height:5px;border-radius:50%}.avatar{width:33px;height:33px;border-radius:50%;background:#d9c8ab;color:#25291e;display:grid;place-items:center}.main>main{padding:40px 45px 20px;max-width:1600px;margin:auto}.eyebrow{font-size:9px;font-weight:500;letter-spacing:2.3px;color:var(--gold);margin-bottom:15px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:34px}.page-heading p{font-size:12px;margin-top:13px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:7px;padding:13px 18px;font-size:12px;white-space:nowrap}.primary{background:var(--gold);color:#22271e;font-weight:600;box-shadow:0 4px 14px #0001}.primary:hover{background:#ebdcc3}.secondary{background:#292e25;border:1px solid #434a3a;color:#dbdfd2}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:28px}.stats article{background:var(--panel);border:1px solid var(--line);padding:22px;border-radius:10px}.stats article>div{display:flex;justify-content:space-between;align-items:center;color:#c0c4b6;font-size:11px}.stats svg{color:#bfb395}.stats strong{font-family:Georgia,serif;font-size:42px;display:block;margin:18px 0 8px;font-weight:400}.stats small{font-size:10px}.editorial{position:relative;overflow:hidden;background:linear-gradient(110deg,#2a3d30,#273a2e 58%,#1d2a20);border:1px solid #40513b;border-radius:12px;min-height:270px;padding:37px 40px;display:flex;align-items:center;justify-content:space-between;margin:0 0 37px}.editorial h2{font-family:Georgia,serif;font-size:36px;line-height:1.15}.editorial em{font-weight:400;color:var(--gold)}.editorial p{font-size:11px;margin-top:18px;color:#bdc4b1}.edition{position:absolute;right:20px;bottom:20px;font-size:8px;letter-spacing:2px;color:#9aa98a}.book-art{position:relative;width:180px;height:225px;margin-right:110px;transform:rotate(-12deg);filter:drop-shadow(24px 23px 13px #0006)}.book-cover{height:100%;background:linear-gradient(110deg,#d7ccb6,#e6dac3 55%,#bfb092);border-radius:2px 6px 6px 2px;box-shadow:inset 8px 0 8px #877c5d88,4px 4px #8a826b;color:#384130;display:flex;align-items:center;flex-direction:column;padding:28px 13px}.book-cover small{font-size:6px;letter-spacing:3px;color:#6c715c}.book-cover strong{font-family:Georgia,serif;font-size:57px;font-weight:400;line-height:1.4}.book-cover span{font-family:Georgia,serif;font-size:14px;text-align:center;line-height:1.3}.book-cover svg{margin-top:auto;width:14px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.section-heading h2 span{font-size:11px;padding:3px 7px;border:1px solid var(--line);border-radius:5px;margin-left:9px;color:var(--muted)}.section-heading p{font-size:11px;margin-top:7px}.class-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.class-card,.class-add{border:1px solid var(--line);border-radius:10px;padding:23px;text-align:left;background:var(--panel);transition:transform .2s,border-color .2s}.class-card:hover{transform:translateY(-3px);border-color:#8b8b6e}.class-card-top{display:flex;gap:13px;align-items:center;margin-bottom:23px}.class-label{display:grid;place-items:center;background:#344333;color:#dddac5;border-radius:8px;width:48px;height:48px;font-family:Georgia,serif;font-size:23px}.year{font-size:9px;letter-spacing:1.3px;color:var(--muted)}.class-card-top svg{margin-left:auto;color:#b3b89f}.class-card p{font-size:11px;margin-top:8px}.progress{height:4px;border-radius:8px;background:#383e31;margin-top:24px;overflow:hidden}.progress i{display:block;background:#b8be91;height:100%}.class-foot{display:flex;justify-content:space-between;font-size:9px;color:#a1a892;margin-top:12px}.class-add{border-style:dashed;background:transparent;text-align:center;min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center}.class-add svg{color:var(--gold);margin-bottom:15px}.class-add p{font-size:11px;margin-top:8px}.demo-banner{margin-top:25px;border:1px solid var(--line);border-radius:10px;padding:20px;display:flex;justify-content:space-between;align-items:center;gap:20px}.demo-banner p{font-size:12px;margin-top:6px}footer{display:flex;justify-content:space-between;color:#717b68;font-size:9px;letter-spacing:1.5px;padding:32px 0;margin-top:28px;border-top:1px solid var(--line)}footer span{letter-spacing:0}.toolbar{display:flex;gap:12px;margin-bottom:22px;flex-wrap:wrap}.search{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:0 14px;flex:1;min-width:200px;color:var(--muted)}.search input{border:0;margin:0;padding:12px 0}.toolbar select{width:auto;margin:0}.table-wrap{border:1px solid var(--line);border-radius:10px;overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;text-align:left}th{font-size:10px;font-weight:400;color:#929c85;background:#20241d;padding:17px 18px}td{font-size:12px;padding:20px 18px;border-top:1px solid var(--line);color:#aab39c}td strong{font-weight:500;color:#e4e5dc}tbody tr{cursor:pointer}tbody tr:hover{background:#22291e}.number{color:#caba9a;font-family:Georgia,serif;font-size:18px}.badge{display:inline-flex;align-items:center;gap:7px;border-radius:20px;padding:7px 9px;font-size:10px;background:#30372a;color:#b5bca6;white-space:nowrap}.badge i{width:5px;height:5px;border-radius:50%;background:currentColor}.status2{color:#d3c1a2;background:#3c3728}.status3{color:#d1aa91;background:#3f3025}.status4,.status5{color:#adccb5;background:#2b4032}.photo-count{display:flex;gap:7px;align-items:center}.back{display:flex;align-items:center;gap:8px;color:#b6bea8;font-size:12px;padding:0;margin-bottom:25px}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:25px;overflow:auto;white-space:nowrap}.tabs button{font-size:12px;padding:14px 2px;color:var(--muted);border-bottom:2px solid transparent}.tabs button.selected{color:var(--gold);border-bottom-color:var(--gold)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:28px}.panel>p{font-size:12px;margin:8px 0 24px}.profile-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:25px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}label{display:block;font-size:12px;color:#d5d9cc;margin-top:21px}input,textarea,select{display:block;width:100%;background:#191d17;border:1px solid #414837;border-radius:6px;padding:12px 13px;color:var(--text);margin-top:9px;min-width:0}input:focus,textarea:focus,select:focus{border-color:var(--gold)}input:read-only{color:var(--muted)}textarea{resize:vertical;min-height:100px}fieldset{margin:0;padding:0;border:0;min-width:0}.check{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);margin-top:10px}.check input{width:15px;height:15px;margin:0;accent-color:var(--gold)}.field-foot{display:flex;align-items:center;justify-content:space-between}.field-foot small{padding-top:10px}.tip{height:fit-content;background:#263329}.iconbox{display:inline-grid;place-items:center;width:49px;height:49px;background:#354532;color:var(--gold);border-radius:12px;margin-bottom:20px}.line{height:1px;background:#53604788;margin:28px 0}.savebar{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:25px;background:#1d231b;border:1px solid var(--line);border-radius:9px;padding:17px}.savebar>span{margin-right:auto;color:var(--muted);font-size:10px;display:flex;align-items:center;gap:8px}.gallery-heading{display:flex;align-items:center;gap:20px;margin-bottom:25px}.gallery-heading p{font-size:12px;margin-top:6px}.counter{margin-left:auto;white-space:nowrap;color:var(--gold);font-size:12px}.upload{background:var(--gold);color:#22271e;border-radius:7px;padding:12px;cursor:pointer;margin:0;white-space:nowrap}.upload input{display:none}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.photo{position:relative;border:2px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}.photo.picked{border-color:var(--gold)}.photo-open{display:block;padding:0;width:100%}.photo img{width:100%;height:310px;object-fit:cover;display:block}.heart{position:absolute;right:12px;top:12px;background:#1a201acc;border-radius:50%;padding:9px;width:38px;height:38px;display:grid;place-items:center}.heart svg{width:19px}.picked .heart{background:var(--gold);color:#1b231a}.photo-meta{padding:12px;display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;font-size:10px}.photo-meta small{width:100%;overflow:hidden;text-overflow:ellipsis}.photo-meta button{padding:0;color:var(--gold)}.selection-order{display:flex;gap:10px;margin-top:20px}.selection-order button{padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:65px 25px;gap:15px;color:var(--muted)}.preview-note{text-align:center;font-size:11px;color:var(--muted);margin-bottom:22px}.album{max-width:700px;min-height:900px;margin:auto;padding:40px;background:#161b17;box-shadow:0 15px 60px #0005;border:1px solid #4b4e3c}.album-top,.album-bottom{display:flex;justify-content:space-between;letter-spacing:2px;font-size:9px;color:var(--gold)}.album-title{display:flex;align-items:center;gap:25px;margin:40px 0}.album-title em{font-family:Georgia,serif;font-size:68px;color:var(--gold)}.album-title h1{font-size:35px}.album-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px}.album-photos>:first-child{grid-column:1/-1;height:340px}.album-photos img,.album-photos>div{width:100%;height:210px;object-fit:cover;background:#283226}.album-photos>div{display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;color:#76876b}.album blockquote{font-family:Georgia,serif;font-size:23px;line-height:1.5;text-align:center;margin:30px 0;color:var(--gold)}.album-contact{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;font-size:11px;margin:30px 0}.album-bottom{border-top:1px solid var(--line);padding-top:20px;font-size:7px}.history{display:flex;gap:12px;border-bottom:1px solid var(--line);padding:18px 0;font-size:12px}.history small{display:block;margin-top:7px}.overlay{position:fixed;inset:0;background:#070b08c9;backdrop-filter:blur(7px);z-index:20;display:flex;align-items:center;justify-content:center;padding:22px}.modal{width:680px;max-height:90vh;overflow:auto;padding:30px;border:1px solid #4d5542;border-radius:14px;background:#22271e;box-shadow:0 20px 90px #0008}.modal-heading{display:flex;justify-content:space-between;align-items:center}.modal>.primary{margin-top:25px}.modal>p{margin-top:20px;font-size:12px}.ghost{display:flex;align-items:center;gap:8px;padding:6px}.code-list{max-height:300px;overflow:auto;margin-top:20px}.code-list>div{display:flex;gap:15px;padding:10px 0;border-bottom:1px solid var(--line);font-size:10px}.code-list code{word-break:break-all}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;z-index:40;background:#e1d2b9;color:#20271c;padding:16px 20px;border-radius:9px;box-shadow:0 6px 40px #0006;font-size:13px;max-width:90vw}.toast button{display:grid;place-items:center}.lightbox{position:fixed;inset:0;background:#050905ee;z-index:50;display:flex;align-items:center;justify-content:center;padding:35px}.lightbox img{max-width:100%;max-height:90vh;object-fit:contain}.lightbox button{position:absolute;right:20px;top:20px}.login{padding:45px 7%;min-height:100vh;background:radial-gradient(ellipse at 20% 40%,#2d3e2c 0,transparent 60%),#171916}.login-grid{max-width:1200px;margin:85px auto;display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:center}.login h1{font-size:53px;line-height:1.2}.login h1 em{color:var(--gold);font-weight:400}.login section>p{font-size:14px;max-width:450px;margin-top:28px}.login section>small{letter-spacing:2px}.login-card{padding:35px;background:#20271fe6;border:1px solid #45503a;border-radius:15px}.login-card p{font-size:12px;margin-top:12px}.login-card .primary{width:100%;margin:25px 0 18px}.login-card>small{display:block;line-height:1.6;text-align:center}.adminlink{display:block;text-align:center;margin-top:24px;padding-top:22px;border-top:1px solid var(--line);font-size:11px;color:var(--gold)}.loading{padding:60px}.loading p{margin-top:35px}.shell:not(:has(aside)) .main{margin-left:0;max-width:1400px;margin:auto;width:100%}@media(min-width:1600px){.editorial{min-height:300px}.book-art{margin-right:160px}}@media(max-width:1150px){aside{width:210px;padding:25px 16px}.main{margin-left:210px}.main>main{padding:30px 25px}header{padding:0 25px}.brand{font-size:14px}.stats{grid-template-columns:repeat(2,1fr)}.class-grid{grid-template-columns:repeat(2,1fr)}.book-art{margin-right:35px}.page-heading h1{font-size:32px}.profile-grid{grid-template-columns:1fr}.tip{display:none}.login-grid{gap:35px}.login h1{font-size:42px}}@media(max-width:760px){aside{position:relative;width:100%;padding:20px;border-right:0;border-bottom:1px solid var(--line);display:flex;flex-direction:row;align-items:center;gap:12px;overflow:auto}aside .brand{margin:0;min-width:170px}aside .nav{padding:9px;margin:0;white-space:nowrap;font-size:0;gap:0}aside .nav svg{width:20px}aside .nav span,aside .nav small,aside .navlabel,aside .aside-bottom{display:none}aside .nav:nth-of-type(n+4){display:none}.shell{display:block}.main{margin-left:0}header{height:60px;padding:0 20px}.secure{display:none}.main>main{padding:26px 20px}.page-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:26px}.page-heading h1{font-size:32px}.page-heading .primary{padding:12px 16px}.stats{gap:10px}.stats article{padding:17px}.stats strong{font-size:35px;margin:13px 0 6px}.stats article>div{font-size:10px}.stats article>div svg{width:16px}.stats small{font-size:9px}.editorial{padding:26px 22px;min-height:245px}.editorial h2{font-size:28px;max-width:210px}.editorial p{max-width:180px;font-size:10px}.book-art{width:110px;height:155px;margin-right:0;flex-shrink:0}.book-cover{padding:20px 10px}.book-cover strong{font-size:36px}.book-cover span{font-size:10px}.book-cover small{font-size:4px;letter-spacing:1px}.edition{font-size:6px}.class-grid{grid-template-columns:1fr}.class-add{min-height:140px}.class-card{padding:23px}.demo-banner{flex-direction:column;align-items:flex-start}.toolbar{gap:10px}.toolbar .search{flex-basis:100%}.toolbar .secondary{padding:10px;font-size:11px}.toolbar select{font-size:12px}footer{font-size:8px;gap:20px;line-height:1.6}footer span{max-width:160px;text-align:right}.panel{padding:22px}.fields{grid-template-columns:1fr}.savebar{flex-wrap:wrap;padding:13px;justify-content:stretch}.savebar>span{width:100%;margin-bottom:6px}.savebar button{flex:1;padding:12px 8px;font-size:11px}.tabs{gap:20px}.tabs button{font-size:11px}.gallery{grid-template-columns:repeat(2,1fr);gap:10px}.photo img{height:220px}.gallery-heading{flex-wrap:wrap;padding:20px}.counter{margin-left:0}.gallery-heading h2{font-size:18px}.album{padding:22px;min-height:650px}.album-title{margin:25px 0;gap:15px}.album-title h1{font-size:25px}.album-title em{font-size:45px}.album-photos>:first-child{height:260px}.album-photos img,.album-photos>div{height:150px}.album blockquote{font-size:18px}.album-bottom{font-size:6px}.modal{padding:22px}.overlay{padding:12px}.login{padding:25px 22px}.login-grid{grid-template-columns:1fr;gap:35px;margin:55px auto}.login h1{font-size:38px}.login section>p{font-size:13px;margin-top:18px}.login .line,.login section>small{display:none}.login-card{padding:25px}.login footer{margin-top:0}input,textarea,select{font-size:16px}.code-list{font-size:9px}}
@media(max-width:760px){.editorial>div:first-child{min-width:0;flex:1}.editorial h2{font-size:25px}.book-art{width:90px;height:140px;margin-left:12px}.book-cover strong{font-size:30px}.book-cover span{font-size:9px}}
