:root{color:var(--ui-ink-2e4235,#2e4235);background:var(--ui-surface-f6f7f2,#f6f7f2);font-family:Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--ui-line-c89c61,#c89c61);outline-offset:3px}aside{background:var(--ui-surface-fff,#fff);border-right:1px solid var(--ui-line-e7eadf,#e7eadf);flex-direction:column;width:238px;padding:36px 23px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-1px;align-items:center;gap:9px;font-size:31px;font-weight:700;display:flex}.brand b{background:var(--ui-surface-2d5140,#2d5140);color:var(--ui-ink-eaf0de,#eaf0de);border-radius:11px;padding:6px 11px;font-size:30px}.brand span{color:var(--ui-ink-c89557,#c89557);margin-left:-8px}.studio{letter-spacing:1.8px;color:var(--ui-ink-9ba38e,#9ba38e);margin-top:20px;font-size:8px}nav{gap:8px;margin-top:40px;display:grid}nav button{text-align:left;border-radius:7px;padding:16px 10px;font-size:12px}nav .active{background:var(--ui-surface-edf2e7,#edf2e7);color:var(--ui-ink-436445,#436445)}.aside-note{background:var(--ui-surface-f6f5ed,#f6f5ed);border-radius:9px;margin-top:auto;padding:20px 15px}.aside-note>span{color:var(--ui-ink-748668,#748668);font-size:27px}.aside-note h4{margin:12px 0;font-size:13px}.profile{align-items:center;gap:12px;margin-top:27px;font-size:11px;display:flex}.profile>b{background:var(--ui-surface-e9e8dd,#e9e8dd);border-radius:50%;padding:12px;font-weight:400}.profile small{color:var(--ui-ink-98a08d,#98a08d);margin-top:5px;font-size:9px;display:block}main{margin-left:238px}header{background:var(--ui-surface-fff,#fff);border-bottom:1px solid var(--ui-line-e7eadf,#e7eadf);height:76px;color:var(--ui-ink-929d87,#929d87);justify-content:space-between;align-items:center;padding:0 42px;font-size:10px;display:flex}header>span:last-child{color:var(--ui-ink-72846a,#72846a)}.content{max-width:1440px;margin:auto;padding:38px 42px}.heading{justify-content:space-between;align-items:center;margin-bottom:27px;display:flex}.eyebrow{letter-spacing:1.8px;color:var(--ui-ink-8c997b,#8c997b);font-size:9px}h1{letter-spacing:-1px;margin:12px 0;font-size:32px;font-weight:500}h2{letter-spacing:-.6px;font-size:24px;font-weight:500}.muted{color:var(--ui-ink-919b84,#919b84);margin:8px 0;font-size:12px;line-height:1.8}.primary,.secondary{border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:13px 18px;font-size:11px;display:inline-flex}.primary{background:var(--ui-surface-2c5140,#2c5140);color:var(--ui-ink-fff,#fff)}.primary:hover{background:var(--ui-surface-40684d,#40684d)}.secondary{background:var(--ui-surface-fff,#fff);border:1px solid var(--ui-line-e1e6d8,#e1e6d8)}.classes{gap:15px;margin-bottom:24px;padding:2px;display:flex;overflow:auto}.class{text-align:left;background:var(--ui-surface-fff,#fff);border:1px solid var(--ui-line-e2e6d9,#e2e6d9);border-radius:9px;align-items:center;gap:17px;min-width:280px;padding:19px;display:flex}.class>span:first-child{color:var(--ui-ink-819572,#819572);font-size:26px}.class>span:last-child{color:var(--ui-ink-94a085,#94a085);margin-left:auto}.class b{font-size:12px;font-weight:500}.class small{color:var(--ui-ink-98a08e,#98a08e);margin-top:7px;font-size:10px;display:block}.class.selected{background:var(--ui-surface-f0f3e8,#f0f3e8);border-color:var(--ui-line-76916b,#76916b);box-shadow:0 0 0 1px #76916b}.banner{background:var(--ui-surface-e8edda,#e8edda);border-radius:11px;justify-content:space-between;align-items:center;min-height:210px;padding:29px 35px;display:flex;overflow:hidden}.pill{background:var(--ui-surface-f8faef,#f8faef);color:var(--ui-ink-82956c,#82956c);letter-spacing:1px;border-radius:4px;padding:6px 9px;font-size:8px}.banner h2{margin:20px 0 12px;font-size:29px}.banner h2 span{color:var(--ui-ink-849677,#849677)}.banner p,.banner div>small:last-child{color:var(--ui-ink-849376,#849376);font-size:11px}.book{background:var(--ui-surface-345442,#345442);width:135px;height:170px;color:var(--ui-ink-d4dec2,#d4dec2);letter-spacing:2px;flex-shrink:0;margin-right:37px;padding:19px 15px;font-size:19px;line-height:1.4;position:relative;transform:rotate(10deg);box-shadow:7px 6px #faf8ee,10px 8px #a9b89a}.book small{color:var(--ui-ink-b8c9a6,#b8c9a6);margin-top:38px;font-size:10px;display:block}.book i{opacity:.13;font-size:75px;position:absolute;bottom:0;right:2px}.stats{grid-template-columns:repeat(4,1fr);gap:15px;margin:23px 0;display:grid}.stats>div{background:var(--ui-surface-ffffff,#fff);border:1px solid var(--ui-line-e3e7db,#e3e7db);border-radius:8px;padding:20px;position:relative}.stats small{color:var(--ui-ink-98a08e,#98a08e);font-size:10px}.stats b{margin-top:13px;font-size:29px;font-weight:400;display:block}.stats span{color:var(--ui-ink-93a47f,#93a47f);font-size:22px;position:absolute;bottom:25px;right:22px}.stats>div:nth-child(2) span{color:var(--ui-ink-dbb572,#dbb572)}.panel{background:var(--ui-surface-fff,#fff);border:1px solid var(--ui-line-e2e7d9,#e2e7d9);border-radius:10px;overflow:hidden}.section-head{border-bottom:1px solid var(--ui-line-e7ebdf,#e7ebdf);justify-content:space-between;align-items:center;gap:12px;min-height:73px;padding:0 23px;display:flex}.tabs{align-self:stretch;gap:25px;display:flex}.tabs button{color:var(--ui-ink-96a088,#96a088);font-size:12px;position:relative}.tabs button.current{color:var(--ui-ink-395d40,#395d40)}.tabs button.current:after{content:"";background:var(--ui-surface-416446,#416446);height:3px;position:absolute;bottom:0;left:0;right:0}.tabs em{background:var(--ui-surface-edf2e5,#edf2e5);border-radius:4px;margin-left:5px;padding:3px 5px;font-size:9px;font-style:normal}.tools{justify-content:space-between;align-items:center;gap:15px;padding:19px 23px;display:flex}.tools button,.tools small{color:var(--ui-ink-8a987c,#8a987c);font-size:10px}.search{background:var(--ui-surface-f8f9f4,#f8f9f4);max-width:260px;font-size:11px;margin:0!important}.table-wrap{overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%}th{text-align:left;background:var(--ui-surface-fafbf7,#fafbf7);color:var(--ui-ink-9aa28f,#9aa28f);padding:12px 23px;font-size:9px;font-weight:400}td{border-bottom:1px solid var(--ui-line-eef1e7,#eef1e7);padding:19px 23px;font-size:11px}tr:last-child td{border-bottom:0}.student{align-items:center;gap:12px;display:flex}.student small,td>small{color:var(--ui-ink-a2a994,#a2a994);margin-top:6px;font-size:9px;display:block}.avatar{background:var(--ui-surface-e4ebd9,#e4ebd9);width:35px;height:40px;color:var(--ui-ink-788f65,#788f65);border-radius:6px;justify-content:center;align-items:center;font-size:17px;font-weight:400;display:flex}.a1{background:var(--ui-surface-f2e7d9,#f2e7d9);color:var(--ui-ink-ad8d65,#ad8d65)}.a2{background:var(--ui-surface-e7eaf0,#e7eaf0);color:var(--ui-ink-8d9ab0,#8d9ab0)}.progress{background:var(--ui-surface-eef1e5,#eef1e5);border-radius:5px;width:90px;height:4px}.progress i{background:var(--ui-surface-91aa74,#91aa74);border-radius:5px;height:100%;display:block}.badge{background:var(--ui-surface-f1f2ec,#f1f2ec);color:var(--ui-ink-9ba28d,#9ba28d);border-radius:5px;padding:7px 9px;font-size:9px;display:inline-flex}.badge:before{content:"•";margin-right:5px}.badge.review{background:var(--ui-surface-fcf2dd,#fcf2dd);color:var(--ui-ink-b38e46,#b38e46)}.badge.approved{background:var(--ui-surface-eaf2e4,#eaf2e4);color:var(--ui-ink-77945e,#77945e)}.badge.revision{background:var(--ui-surface-fbece5,#fbece5);color:var(--ui-ink-b07e64,#b07e64)}.row-actions{gap:10px;display:flex}.row-actions button{color:var(--ui-ink-7e9270,#7e9270);font-size:10px}.empty{text-align:center;color:var(--ui-ink-8a997c,#8a997c);padding:40px;font-size:13px}footer{color:var(--ui-ink-a0a88f,#a0a88f);gap:10px;margin-top:23px;font-size:9px;line-height:1.8;display:flex}footer span{margin-left:auto}input,textarea,select{border:1px solid var(--ui-line-e0e6d5,#e0e6d5);width:100%;color:var(--ui-ink-344e39,#344e39);background:var(--ui-surface-fff,#fff);border-radius:6px;margin-top:8px;padding:12px;display:block}textarea{resize:vertical;min-height:95px}select{width:auto;margin:0;font-size:12px}label{margin:16px 0;font-size:12px;display:block}.upload{cursor:pointer;margin:0}.upload input{display:none}.photos{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:15px;margin:23px 0;display:grid}.library{padding:0 23px}.photo{background:var(--ui-surface-f4f6ee,#f4f6ee);text-align:left;border:2px solid #0000;border-radius:7px;padding:0;overflow:hidden}.photo img{object-fit:cover;width:100%;height:190px;display:block}.photo span{padding:11px;font-size:10px;display:block}.photo.selected{border-color:var(--ui-line-597e48,#597e48)}.photo.selected span{background:var(--ui-surface-e5eddc,#e5eddc)}.error{background:var(--ui-surface-fceee6,#fceee6);color:var(--ui-ink-a26848,#a26848);border-radius:6px;margin-bottom:20px;padding:14px;font-size:12px}.error a{text-decoration:underline}.error button{float:right}.working{background:var(--ui-surface-30543f,#30543f);color:var(--ui-ink-ffffff,#fff);border-radius:7px;padding:14px;font-size:12px;position:fixed;bottom:20px;right:20px}.overlay{background:var(--ui-surface-1a30256b,#1a30256b);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:5;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.dialog{background:var(--ui-surface-ffffff,#fff);border-radius:13px;width:460px;max-width:100%;max-height:94vh;padding:30px;position:relative;overflow:auto}.dialog.wide{width:930px}.close{color:var(--ui-ink-95a187,#95a187);font-size:25px;position:absolute;top:13px;right:15px}.actions{border-top:1px solid var(--ui-line-e7ecdf,#e7ecdf);flex-wrap:wrap;align-items:center;gap:10px;margin-top:25px;padding-top:20px;display:flex}.actions .secondary:first-child{margin-right:auto}.dialog form>.primary{margin-top:15px}.steps{background:var(--ui-surface-fafbf6,#fafbf6);gap:10px;padding:20px 25px;display:flex}.steps button{color:var(--ui-ink-a2ac94,#a2ac94);flex:1;align-items:center;gap:8px;font-size:11px;display:flex}.steps b{background:var(--ui-surface-e9eedf,#e9eedf);border-radius:50%;justify-content:center;align-items:center;width:25px;height:25px;display:flex}.steps .current{color:var(--ui-ink-42623c,#42623c)}.steps .current b{color:var(--ui-ink-fff,#fff);background:var(--ui-surface-42623c,#42623c)}.wizard{padding:25px}.wizard>small{letter-spacing:1px;color:var(--ui-ink-91a07f,#91a07f);font-size:9px}.wizard h2{margin:13px 0}.wizard>.muted:last-child{font-size:10px}.summary{background:var(--ui-surface-f4f7ed,#f4f7ed);border-radius:8px;padding:20px}.summary h3{font-size:20px;font-weight:500}.summary p{font-size:12px}.thumbs{gap:10px;display:flex}.thumbs img{object-fit:cover;border-radius:5px;width:85px;height:100px}.check{align-items:center;gap:10px;line-height:1.7;display:flex}.check input{width:18px;margin:0}.parent aside{display:none}.parent main{margin:0}.parent .content{max-width:960px}.parent .panel{margin-top:28px}@media (width<=1100px){aside{width:200px;padding:30px 16px}main{margin-left:200px}.content{padding:30px 24px}header{padding:0 24px}td,th{padding:16px}.stats{gap:10px}footer span{display:none}.book{margin-right:10px}}@media (width<=760px){aside{border-bottom:1px solid var(--ui-line-e2e7d9,#e2e7d9);width:100%;padding:15px 20px;position:static}.brand{font-size:24px}.brand b{font-size:22px}.studio,nav,.aside-note,.profile{display:none}main{margin:0}header{height:46px;padding:0 17px;font-size:9px}header>span:last-child{display:none}.content{padding:25px 16px}h1{font-size:25px}.heading{align-items:flex-start;gap:12px}.heading>.primary{white-space:nowrap;padding:11px;font-size:10px}.muted{font-size:11px}.classes{margin-bottom:18px}.class{min-width:255px}.banner{min-height:190px;padding:23px 20px}.banner h2{font-size:22px}.banner p{max-width:180px;line-height:1.7}.book{width:84px;height:128px;margin-right:5px;padding:13px 10px;font-size:12px}.book small{margin-top:25px}.book i{font-size:50px}.stats{grid-template-columns:repeat(2,1fr);margin:17px 0}.stats>div{padding:17px}.stats b{font-size:25px}.section-head{min-height:65px;padding:0 14px}.tabs{gap:15px;height:65px}.tabs button{font-size:10px}.section-head .primary,.section-head .secondary{padding:9px;font-size:9px}.tools{flex-wrap:wrap;padding:15px}.search{max-width:210px}.photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo img{height:170px}.overlay{padding:9px}.dialog{padding:24px 16px}.steps{gap:5px;padding:15px 10px}.steps button{flex-direction:column;font-size:8px}.wizard{padding:18px}.wizard h2{font-size:20px}.actions button,.actions a{padding:10px;font-size:10px}.actions .secondary:first-child{margin-right:0}footer{font-size:8px}}.fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;display:grid}.fields label{min-width:0}.fields select{width:100%}.heading-buttons{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.teacher-row{border:1px solid var(--ui-line-e1e7d6,#e1e7d6);border-radius:8px;align-items:center;gap:15px;margin:15px 0;padding:15px;display:flex}.teacher-row .fields{flex:1}.teacher-number{background:var(--ui-surface-eaf0df,#eaf0df);border-radius:50%;align-self:flex-start;margin-top:20px;padding:7px 10px;font-size:12px}.teacher-summary{border-bottom:1px solid var(--ui-line-e8eddf,#e8eddf);align-items:center;gap:15px;padding:15px 0;font-size:13px;display:flex}.teacher-summary p{color:var(--ui-ink-8a9879,#8a9879);font-size:12px}.teacher-summary img{object-fit:cover;border-radius:6px;width:60px;height:75px}.disk-files{border:1px solid var(--ui-line-e3e8d9,#e3e8d9);border-radius:7px;max-height:360px;margin-top:20px;overflow:auto}.disk-file{border-bottom:1px solid var(--ui-line-edf0e6,#edf0e6);padding:0 15px;font-size:12px}.disk-file>button{text-align:left;width:100%;padding:17px 0}.disk-file:last-child{border:0}.disk-file small{color:var(--ui-ink-8c9b7e,#8c9b7e);margin-top:4px;font-size:10px;display:block}.disk-file .check{align-items:flex-start}.thumbs{flex-wrap:wrap}.thumbs small{color:var(--ui-ink-8c9b7d,#8c9b7d);overflow-wrap:anywhere;max-width:85px;margin-top:5px;font-size:9px;display:block}.app:has(.overlay) .content>.error{z-index:15;max-width:90vw;position:fixed;top:10px;left:50%;transform:translate(-50%);box-shadow:0 4px 25px #33482b33}.heading-buttons>.primary,.heading-buttons>.secondary{white-space:nowrap}.photo img{background:var(--ui-surface-eaf0df,#eaf0df)}.steps{flex-wrap:wrap;row-gap:15px}@media (width<=760px){.fields{grid-template-columns:1fr}.heading-buttons{justify-content:flex-end;gap:6px}.heading-buttons button{padding:10px;font-size:9px}.teacher-row{display:block}.teacher-number{display:inline-flex}.teacher-row .row-actions{margin-top:15px}.steps button{min-width:48px}.section-head{flex-wrap:wrap;padding-bottom:12px}.disk-file .check{font-size:10px}.heading{gap:8px}.heading-buttons{max-width:145px}.heading .heading-buttons{flex-direction:column;align-items:flex-end}.parent .steps button{font-size:8px}}.folder-library{padding:24px}.disk-gallery{margin:15px 0 25px}.disk-top{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.disk-top p{font-size:11px}.folder-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:16px 0;display:grid}.folder-tile{text-align:left;background:var(--ui-surface-f4f7eb,#f4f7eb);border:1px solid var(--ui-line-dfe7d1,#dfe7d1);border-radius:9px;align-items:center;gap:15px;min-width:0;padding:18px;display:flex}.folder-tile>span{color:var(--ui-ink-aa995d,#aa995d);font-size:30px}.folder-tile strong{overflow-wrap:anywhere;font-size:13px;font-weight:500;display:block}.folder-tile small{color:var(--ui-ink-8d9b7b,#8d9b7b);margin-top:7px;font-size:9px;display:block}.breadcrumbs{border-bottom:1px solid var(--ui-line-e4ead8,#e4ead8);color:var(--ui-ink-758b61,#758b61);flex-wrap:wrap;align-items:center;gap:5px;padding:12px 0;font-size:11px;display:flex}.breadcrumbs>button:last-child{margin-left:auto}.breadcrumbs button{padding:8px 2px;font-size:11px}.remote-photo{min-width:0;position:relative}.remote-photo>span{overflow-wrap:anywhere}.image-button{width:100%;padding:0;display:block}.photo-controls{flex-wrap:wrap;gap:7px;padding:0 9px 10px;display:flex}.photo-controls button{flex:1;padding:8px 10px;font-size:9px}.photo-unavailable{background:var(--ui-surface-eef1e7,#eef1e7);height:190px;color:var(--ui-ink-96a486,#96a486);flex-direction:column;justify-content:center;align-items:center;font-size:11px;display:flex}.disk-pagination{color:var(--ui-ink-8d9b7a,#8d9b7a);justify-content:space-between;align-items:center;gap:14px;font-size:10px;display:flex}.full-photo{object-fit:contain;background:var(--ui-surface-f2f4ed,#f2f4ed);width:100%;height:60vh;display:block}.disk-lightbox{z-index:12}.selected-frame{background:var(--ui-surface-eff4e6,#eff4e6);border:1px solid var(--ui-line-d8e3c9,#d8e3c9);border-radius:9px;gap:16px;margin:22px 0;padding:15px;display:flex}.selected-frame img{object-fit:cover;border-radius:5px;width:80px;height:95px}.selected-frame small{letter-spacing:1px;color:var(--ui-ink-8c9b78,#8c9b78);margin-bottom:9px;font-size:8px;display:block}.selected-frame strong{overflow-wrap:anywhere;font-size:13px;display:block}.selected-frame p{color:var(--ui-ink-8e9d7a,#8e9d7a);overflow-wrap:anywhere;font-size:10px}.disk-gallery .photos{grid-template-columns:repeat(auto-fill,minmax(155px,1fr))}.dialog .text-button{margin-top:10px}@media (width<=760px){.folder-library{padding:15px}.folder-grid{grid-template-columns:1fr}.folder-tile{padding:15px}.disk-gallery .photos{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-controls{gap:5px;padding:0 6px 7px}.photo-controls button{padding:8px 6px;font-size:8px}.disk-top{flex-wrap:wrap}.full-photo{height:52vh}.selected-frame{gap:12px;padding:12px}.selected-frame img{width:64px;height:80px}.disk-pagination .secondary{padding:10px;font-size:10px}}.access-screen{background:var(--ui-surface-f5f7ef,#f5f7ef);justify-content:center;align-items:center;min-height:100vh;margin:0;padding:24px;display:flex}.access-card{background:var(--ui-surface-ffffff,#fff);border:1px solid var(--ui-line-e1e7d8,#e1e7d8);border-radius:14px;width:100%;max-width:520px;padding:35px}.access-card h1{margin:30px 0 15px;font-size:26px}.access-card .primary{margin:16px 0}.access-card .text-button{margin-top:15px;font-size:11px;display:inline-block}.photo-viewer{position:relative}.photo-arrow{background:var(--ui-surface-fffe,#fffe);width:48px;height:60px;color:var(--ui-ink-2c5140,#2c5140);border-radius:8px;justify-content:center;align-items:center;font-size:42px;line-height:1;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 12px #172d2533}.photo-arrow.previous{left:10px}.photo-arrow.next{right:10px}.photo-arrow:hover:not(:disabled){background:var(--ui-surface-e8efdf,#e8efdf)}.photo-arrow:disabled{opacity:.3;cursor:default}.photo-position{text-align:center;color:var(--ui-ink-758665,#758665);margin:12px 0;font-size:11px}.disk-lightbox h3{overflow-wrap:anywhere;padding-right:28px}@media (width<=760px){.photo-arrow{width:42px;height:52px}.photo-arrow.previous{left:4px}.photo-arrow.next{right:4px}}.gallery-expand{justify-content:center;margin:16px 0 24px;display:flex}.gallery-expand .secondary{min-width:230px;min-height:44px}.disk-gallery{scroll-margin-top:20px}.panel:has(.disk-gallery){overflow:clip}.folder-navigation{background:var(--ui-surface-fff,#fff);border-bottom:1px solid var(--ui-line-dfe7d4,#dfe7d4);max-height:none;padding:10px 0;position:static;overflow:visible;box-shadow:0 7px 10px -10px #2c514077}.folder-shortcuts{scrollbar-width:thin;gap:8px;padding:5px 2px;display:flex;overflow-x:auto}.folder-shortcut{border:1px solid var(--ui-line-dfe7d1,#dfe7d1);background:var(--ui-surface-f4f7eb,#f4f7eb);border-radius:7px;flex:none;min-height:44px;padding:11px 15px;font-size:12px}.folder-shortcut.active{background:var(--ui-surface-2c5140,#2c5140);border-color:var(--ui-line-2c5140,#2c5140);color:var(--ui-ink-fff,#fff)}.folder-shortcut:hover:not(:disabled){box-shadow:inset 0 0 0 1px #748c60}.folder-navigation .breadcrumbs{border:0;padding:4px 0}.folder-navigation .text-button{margin-top:0}@media (width<=760px){.folder-shortcut{padding:10px 12px;font-size:11px}.folder-navigation{max-height:none}}.photo-screen{z-index:100;background:var(--ui-surface-f6f7f2,#f6f7f2);overscroll-behavior:none;width:100%;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.photo-screen-header{border-bottom:1px solid var(--ui-line-dfe7d4,#dfe7d4);background:var(--ui-surface-fff,#fff);align-items:center;gap:20px;padding:12px 24px;display:flex}.photo-screen-header h2{overflow-wrap:anywhere;min-width:0;margin:0;font-size:16px}.photo-screen-header .secondary{flex-shrink:0;min-height:44px}.photo-screen-position{white-space:nowrap;color:var(--ui-ink-768668,#768668);margin-left:auto;font-size:12px}.photo-screen-stage{touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.photo-screen-image{object-fit:contain;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.photo-screen-footer{text-align:center;border-top:1px solid var(--ui-line-dfe7d4,#dfe7d4);background:var(--ui-surface-fff,#fff);padding:12px 24px}.photo-screen-footer .primary{min-width:210px;min-height:44px}.photo-screen-footer p{color:var(--ui-ink-859477,#859477);margin:8px 0 0;font-size:11px}.photo-screen-footer .error{color:var(--ui-ink-a26848,#a26848);margin:0 0 8px}@media (width<=760px){.photo-screen-header{flex-wrap:wrap;gap:8px;padding:8px 12px}.photo-screen-header .secondary{padding:10px;font-size:11px}.photo-screen-header h2{flex:1;font-size:12px}.photo-screen-position{font-size:10px}.photo-screen-footer{padding:10px 12px}.photo-screen-footer .primary{width:100%}.photo-screen .photo-arrow{background:var(--ui-surface-ffffffc9,#ffffffc9);width:36px;height:48px}}.class-portraits{padding:24px}.roster-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.roster-controls{align-items:flex-end;gap:10px;display:flex}.roster-controls label{width:140px;margin:0}.roster-controls button{min-height:44px}.roster-share{border-block:1px solid var(--ui-line-e5eadc,#e5eadc);flex-wrap:wrap;align-items:center;gap:10px;padding:16px 0;display:flex}.roster-share p{width:100%}.roster-link{gap:10px;width:100%;display:flex}.roster-link input{min-width:0;margin:0}.roster-labels,.roster-row{border-bottom:1px solid var(--ui-line-e6ebde,#e6ebde);grid-template-columns:28px minmax(130px,1.2fr) 150px minmax(140px,1.3fr) 105px;align-items:center;gap:15px;padding:18px 0;display:grid}.roster-labels{color:var(--ui-ink-859477,#859477);font-size:11px}.roster-row label{margin:0;font-size:0}.roster-row input,.roster-row textarea{margin:0;font-size:12px}.roster-row textarea{min-height:85px}.roster-number{color:var(--ui-ink-8c9c7a,#8c9c7a);font-size:13px}.roster-portrait{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.roster-portrait img{object-fit:cover;border-radius:5px;width:50px;height:62px}.roster-portrait button{padding:10px;font-size:10px}.roster-portrait small{overflow-wrap:anywhere;width:100%;font-size:9px}.roster-picker{z-index:15}.roster-share .text-button{font-size:11px;text-decoration:underline}@media (width<=760px){.class-portraits{padding:16px}.roster-heading{display:block}.roster-controls{margin-bottom:18px}.roster-labels{display:none}.roster-row{grid-template-columns:24px minmax(0,1fr);gap:12px}.roster-row>label,.roster-portrait,.roster-row>div:last-child{grid-column:2}.roster-row label{font-size:11px}.roster-row input,.roster-row textarea{margin-top:7px}.roster-row>div:last-child{align-items:center;gap:12px;display:flex}.roster-link{flex-direction:column}.tabs{gap:12px}.tabs button{white-space:nowrap;font-size:10px}}.parent-selection{padding:28px}.parent-welcome{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.parent-welcome h2{margin:12px 0;font-size:28px}.parent-welcome p{color:var(--ui-ink-819171,#819171);max-width:540px;font-size:13px;line-height:1.8}.parent-welcome .badge{flex-shrink:0}.parent-review-fields{grid-template-columns:1fr 1fr;gap:20px;display:grid}.parent-review-fields textarea{min-height:70px}.parent-selected-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0;display:grid}.parent-photo-card{border:1px solid var(--ui-line-e0e7d7,#e0e7d7);background:var(--ui-surface-fff,#fff);border-radius:10px;overflow:hidden}.parent-photo-caption{justify-content:space-between;align-items:center;gap:10px;padding:15px;display:flex}.parent-photo-caption h3{margin:0;font-size:15px;font-weight:500}.parent-photo-caption span{color:var(--ui-ink-8c9c79,#8c9c79);font-size:10px}.parent-photo-preview{object-fit:contain;background:var(--ui-surface-f0f3e9,#f0f3e9);width:100%;height:330px;display:block}.parent-photo-empty{background:var(--ui-surface-f0f3e9,#f0f3e9);height:240px;color:var(--ui-ink-8c9b7b,#8c9b7b);justify-content:center;align-items:center;font-size:13px;display:flex}.parent-photo-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:15px;display:flex}.parent-photo-bottom small{color:var(--ui-ink-8b9b79,#8b9b79);overflow-wrap:anywhere;font-size:10px}.parent-confirmation{background:var(--ui-surface-edf3e5,#edf3e5);border:1px solid var(--ui-line-d7e4ca,#d7e4ca);border-radius:9px;margin-top:25px;padding:22px}.parent-confirmation h3{margin:0 0 12px;font-size:18px;font-weight:500}.parent-confirmation p{color:var(--ui-ink-859775,#859775);font-size:12px;line-height:1.8}.parent-confirmation .check{font-size:13px}.parent-review-actions{flex-wrap:wrap;gap:12px;margin:20px 0;display:flex}.parent-photo-picker{z-index:16}.parent-confirmed-label,.parent-pending-label{white-space:normal;font-size:10px;line-height:1.7;display:block}.parent-confirmed-label{color:var(--ui-ink-4c7740,#4c7740)}.parent-pending-label{color:var(--ui-ink-aa925b,#aa925b)}.roster-row .text-button{text-align:left;margin-top:10px;font-size:10px;text-decoration:underline}.roster-row .primary{min-height:40px}.class-portraits .dialog .primary{margin-top:18px}@media (width<=760px){.parent-selection{padding:18px}.parent-welcome{flex-direction:column;gap:5px}.parent-welcome h2{font-size:24px}.parent-welcome p{font-size:12px}.parent-review-fields{grid-template-columns:1fr;gap:0}.parent-selected-photos{grid-template-columns:1fr;gap:15px}.parent-photo-preview{height:310px}.parent-confirmation{padding:17px}.parent-confirmation .primary,.parent-review-actions button{width:100%;min-height:44px}.roster-row>div:last-child{flex-wrap:wrap}.parent-confirmed-label,.parent-pending-label{width:100%}}.import-warning,.import-note{border-radius:8px;margin:16px 0;padding:16px 20px;font-size:12px;line-height:1.8}.import-warning{background:var(--ui-surface-fff3dc,#fff3dc);border:1px solid var(--ui-line-ead3a1,#ead3a1);color:var(--ui-ink-94713b,#94713b)}.import-note{background:var(--ui-surface-f4f6ef,#f4f6ef);border:1px solid var(--ui-line-e2e8d9,#e2e8d9);color:var(--ui-ink-758767,#758767)}.import-note p,.import-warning p{white-space:pre-wrap;margin:6px 0}.wizard>.parent-selection{padding:10px 0 0}.wizard>.parent-selection .parent-welcome h2{margin-top:10px}.selected-photo-open{cursor:zoom-in;width:100%;padding:0;display:block;position:relative}.photo-open-hint{background:var(--ui-surface-fffffff0,#fffffff0);color:var(--ui-ink-4b6842,#4b6842);pointer-events:none;border-radius:5px;padding:7px 10px;font-size:10px;position:absolute;bottom:10px;right:10px}.selected-photo-open:focus-visible{outline-offset:-3px}@media (width<=760px){body{font-size:15px;line-height:1.5}header{height:auto;min-height:60px;color:var(--ui-ink-596c54,#596c54);padding:14px 16px;font-size:14px;line-height:1.5}header>span{overflow-wrap:anywhere;min-width:0}.content{padding:24px 16px}h1{letter-spacing:-.6px;overflow-wrap:anywhere;font-size:26px;line-height:1.25}h2,.wizard h2{font-size:22px;line-height:1.3}.eyebrow,.wizard>small{color:var(--ui-ink-637457,#637457);letter-spacing:1px;font-size:13px;line-height:1.5}.muted,.wizard>.muted:last-child,.disk-top p,.parent-welcome p,.parent-confirmation p,.summary p,.teacher-summary p{color:var(--ui-ink-596c54,#596c54);font-size:15px;line-height:1.65}label,.roster-row label{font-size:15px;line-height:1.5}input,textarea,select,.fields select,.roster-row input,.roster-row textarea,.search{max-width:100%;min-height:48px;font-size:16px;line-height:1.5}.primary,.secondary,.actions button,.actions a,.heading>.primary,.heading-buttons button,.section-head .primary,.section-head .secondary,.disk-pagination .secondary{white-space:normal;text-align:center;min-height:48px;padding:12px 15px;font-size:15px;line-height:1.4}.heading{flex-wrap:wrap}.heading>div{min-width:0}.heading .heading-buttons{flex-direction:row;justify-content:flex-start;align-items:center;max-width:none}.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;display:grid}.steps button,.parent .steps button{border:1px solid var(--ui-line-e0e7d6,#e0e7d6);text-align:left;min-width:0;min-height:56px;color:var(--ui-ink-596c54,#596c54);background:var(--ui-surface-fff,#fff);border-radius:8px;flex-direction:row;gap:8px;padding:10px 8px;font-size:15px;line-height:1.35}.steps b{flex:0 0 28px;width:28px;height:28px;font-size:14px}.steps .current{background:var(--ui-surface-edf3e5,#edf3e5);border-color:var(--ui-line-729063,#729063);color:var(--ui-ink-2c5140,#2c5140);font-weight:600}.wizard{padding:18px 14px}.wizard h2{margin:16px 0}.actions{align-items:stretch}.actions>*{flex:140px}.folder-tile strong{font-size:16px;line-height:1.4}.folder-tile small{color:var(--ui-ink-607252,#607252);font-size:13px}.folder-shortcut{min-height:48px;font-size:15px;line-height:1.4}.breadcrumbs,.breadcrumbs button{font-size:14px;line-height:1.5}.breadcrumbs button{min-height:44px}.folder-navigation{max-height:none}.selected-frame>div{min-width:0}.selected-frame img{flex-shrink:0}.selected-frame small{color:var(--ui-ink-607252,#607252);font-size:13px}.selected-frame strong{font-size:15px}.selected-frame p{color:var(--ui-ink-607252,#607252);font-size:13px}.photo span{padding:10px 8px;font-size:13px;line-height:1.5}.photo-controls{grid-template-columns:1fr;gap:7px;padding:0 7px 9px;display:grid}.photo-controls button{min-height:44px;padding:10px 6px;font-size:14px}.photo-unavailable,.disk-pagination{font-size:14px}.disk-pagination{flex-wrap:wrap}.disk-pagination>*{min-width:0}.badge{color:var(--ui-ink-59674d,#59674d);font-size:13px;line-height:1.4}.badge.review{color:var(--ui-ink-80601e,#80601e)}.badge.approved{color:var(--ui-ink-476735,#476735)}.badge.revision{color:var(--ui-ink-874d32,#874d32)}.parent-welcome h2{font-size:24px}.parent-photo-caption{flex-wrap:wrap}.parent-photo-caption h3{font-size:17px}.parent-photo-caption span,.parent-photo-bottom small,.photo-open-hint{color:var(--ui-ink-526b44,#526b44);font-size:13px}.parent-photo-empty,.import-note,.import-warning{font-size:15px;line-height:1.65}.import-note{color:var(--ui-ink-526947,#526947)}.parent-confirmation h3{font-size:20px;line-height:1.4}.parent-confirmation .check{align-items:flex-start;font-size:15px}.check input{flex:0 0 24px;width:24px;height:24px;min-height:24px;margin-top:3px}.parent-confirmed-label,.parent-pending-label{font-size:14px}.parent-review-actions{align-items:stretch}.photo-screen-header .secondary{font-size:15px}.photo-screen-header h2{flex:140px;font-size:15px;line-height:1.4}.photo-screen-position,.photo-screen-footer p{color:var(--ui-ink-596c54,#596c54);font-size:13px}.photo-screen .photo-arrow{width:44px;height:52px}.tabs{max-width:100%;height:auto;min-height:60px;overflow-x:auto}.tabs button{flex-shrink:0;padding:14px 0;font-size:15px}.tabs em{font-size:13px}.section-head{min-width:0}.tools button,.tools small,.row-actions button,.roster-row .text-button,.roster-share .text-button{min-height:44px;font-size:14px;line-height:1.5}.roster-controls{flex-wrap:wrap}.roster-controls label{width:100%}.roster-portrait button{min-height:44px;font-size:15px}.roster-portrait small,.thumbs small{font-size:13px}.roster-number{font-size:15px}th,td{font-size:14px}.student small,td>small{font-size:13px}.class b{font-size:15px}.class small,.stats small{font-size:13px}.banner p,.banner div>small:last-child{font-size:14px}.error,.working,.empty,.teacher-summary{font-size:15px}footer{color:var(--ui-ink-607252,#607252);flex-wrap:wrap;font-size:13px}}.selected-frame-open{cursor:zoom-in;text-align:center;flex-shrink:0;padding:0}.selected-frame-open img{display:block}.selected-frame-open span{color:var(--ui-ink-42623c,#42623c);margin-top:6px;font-size:12px;line-height:1.5;display:block}@media (width<=760px){.selected-frame-open span{font-size:14px}.selected-frame-open img{width:80px;height:100px}}.album-notice{margin-top:24px;line-height:1.6}.album-notice+.actions{margin-top:12px}@media (width<=760px){.album-notice{font-size:14px}}.group-vote{border-bottom:1px solid var(--ui-line-e1e7d8,#e1e7d8);padding:24px}.wizard .group-vote{border:0;padding:0}.vote-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0;display:grid}.vote-card{border:1px solid var(--ui-line-dfe7d5,#dfe7d5);background:var(--ui-surface-ffffff,#fff);border-radius:10px;min-width:0;overflow:hidden}.vote-card.chosen{border:2px solid var(--ui-line-527547,#527547)}.vote-card .image-button img{object-fit:contain;background:var(--ui-surface-f1f4eb,#f1f4eb);width:100%;height:210px;display:block}.vote-card-body{padding:16px}.vote-card h3{margin:0 0 8px;font-size:18px}.vote-card p{overflow-wrap:anywhere;font-size:14px;line-height:1.5}.vote-card strong{margin:12px 0;display:block}.vote-selected{color:var(--ui-ink-35622e,#35622e);font-weight:600}.vote-card-body>.primary,.vote-card-body>.secondary{width:100%}.vote-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.vote-voters{margin-top:20px;font-size:14px}.vote-voters summary{cursor:pointer;padding:12px 0}.vote-voters p{border-bottom:1px solid var(--ui-line-edf0e7,#edf0e7);padding:8px 0}@media (width<=760px){.group-vote{padding:18px 14px}.vote-grid{grid-template-columns:1fr}.vote-card .image-button img{height:240px}.vote-actions button{flex:130px}.vote-card h3{font-size:17px}}.participation-choice,.cover-choice{border:1px solid var(--ui-line-dfe6d5,#dfe6d5);background:var(--ui-surface-f7f9f2,#f7f9f2);border-radius:10px;margin:16px 0 24px;padding:20px}.participation-choice h3,.cover-choice h3{margin:0 0 16px;font-size:18px}.choice-option{border:1px solid var(--ui-line-dce5d0,#dce5d0);background:var(--ui-surface-ffffff,#fff);cursor:pointer;border-radius:8px;align-items:flex-start;gap:12px;margin:10px 0;padding:14px;font-size:15px;line-height:1.5;display:flex}.choice-option.chosen{border-color:var(--ui-line-527547,#527547);background:var(--ui-surface-edf3e5,#edf3e5)}.choice-option input{flex:0 0 22px;width:22px;height:22px;min-height:22px;margin:1px 0 0}.cover-preview{border:1px solid var(--ui-line-dce5d0,#dce5d0);cursor:zoom-in;text-align:left;border-radius:8px;align-items:center;gap:16px;max-width:100%;margin:14px 0;padding:12px;display:flex}.cover-preview img{object-fit:contain;background:var(--ui-surface-eef2e6,#eef2e6);width:90px;height:110px}.cover-preview span{overflow-wrap:anywhere;min-width:0}.cover-choice .disk-gallery{background:var(--ui-surface-ffffff,#fff);border-radius:8px;padding:14px}@media (width<=760px){.participation-choice,.cover-choice{padding:14px}.choice-option{padding:12px;font-size:15px}.cover-preview{font-size:14px}.cover-preview img{width:75px;height:90px}}.steps button:disabled{cursor:not-allowed}.workspace-mobile-nav{display:none}.design-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;display:grid}.design-card{padding:24px}.design-plan-heading{border-bottom:1px solid var(--ui-line-dfe6d6,#dfe6d6);padding-bottom:16px}.design-plan h3{margin:12px 0;font-size:26px}.design-plan-heading p{color:var(--ui-ink-68795c,#68795c);font-size:14px;line-height:1.6}.design-plan ol{counter-reset:design-page;margin:20px 0;padding:0;list-style:none}.design-plan li{counter-increment:design-page;border-bottom:1px solid var(--ui-line-e6ebde,#e6ebde);padding:14px 0 14px 42px;font-size:14px;line-height:1.6;position:relative}.design-plan li:before{content:counter(design-page);background:var(--ui-surface-e8efde,#e8efde);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute;top:15px;left:0}.design-plan li b,.design-plan li span{display:block}.design-plan li span{color:var(--ui-ink-627457,#627457);margin-top:4px}.design-card-actions{flex-wrap:wrap;gap:10px;display:flex}.design-editor{width:1100px}.design-editor-grid{grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:28px;display:grid}.design-editor-preview{background:var(--ui-surface-f6f8f0,#f6f8f0);border:1px solid var(--ui-line-e0e6d5,#e0e6d5);border-radius:10px;align-self:start;width:auto;padding:22px;display:block;position:sticky;inset:0 auto auto}.design-editor-fields{min-width:0}.design-editor fieldset{border:1px solid var(--ui-line-dfe5d6,#dfe5d6);border-radius:10px;margin:20px 0;padding:16px}.design-editor legend{padding:0 8px;font-size:17px}.design-editor select{width:100%}.design-editor .check{font-size:14px}.design-editor .fields{gap:0 16px}@media (width<=760px){.workspace-mobile-nav{gap:8px;margin:0 0 20px;display:flex;overflow:auto}.workspace-mobile-nav button{border:1px solid var(--ui-line-dfe5d6,#dfe5d6);background:var(--ui-surface-fff,#fff);white-space:nowrap;border-radius:7px;min-height:44px;padding:12px;font-size:15px}.workspace-mobile-nav .current{background:var(--ui-surface-e8efdf,#e8efdf)}.design-grid{grid-template-columns:1fr}.design-card{padding:18px}.design-card-actions>*{flex:130px}.design-editor-grid{grid-template-columns:1fr}.design-editor-preview{padding:16px;position:static}.design-plan h3{font-size:24px}.design-editor fieldset{padding:12px}.design-editor .check{font-size:15px}.design-editor .actions{background:var(--ui-surface-fff,#fff);padding:15px 0;position:sticky;bottom:0}.design-editor .fields{grid-template-columns:1fr}}.design-editor-page{width:100%;max-width:none}.design-editor-page .design-back,.design-apply-page .design-back{margin-bottom:24px}.design-editor-page fieldset{background:var(--ui-surface-fff,#fff)}.design-apply-page{padding:28px}.design-apply-page select{width:100%}@media (width<=760px){.design-apply-page{padding:18px}.design-editor-page .actions{background:var(--ui-surface-f6f7f2,#f6f7f2);padding:14px}}.design-editor-page>.eyebrow{display:block}.design-editor-page>.design-back{width:max-content;display:flex}.design-editor-page h1{margin-top:12px}.design-option-field{min-width:0}.design-option-select{align-items:stretch;gap:8px;margin-top:8px;display:flex}.design-option-select select{flex:1;min-width:0;margin:0}.design-option-select .option-add{flex:0 0 44px;min-height:44px;padding:8px;font-size:24px}.design-option-new{background:var(--ui-surface-eff4e7,#eff4e7);border-radius:8px;margin-bottom:16px;padding:12px}.design-option-new label{margin-top:0}.design-option-new button{margin:0 7px 7px 0}.payment-panel{margin:24px 0}.payment-panel h2{margin:8px 0}.payment-student{border-top:1px solid var(--ui-line-dce2d5,#dce2d5);padding:20px 0}.payment-student h3{margin:0 0 8px}.payment-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.payment-totals dt{color:var(--ui-ink-65736c,#65736c);font-size:14px}.payment-totals dd{margin:6px 0;font-size:20px;font-weight:600}.payment-form{background:var(--ui-surface-f4f6ef,#f4f6ef);border-radius:12px;margin:16px 0;padding:18px}.payment-history{border-top:1px solid var(--ui-line-e6e8e0,#e6e8e0);padding:14px 0}.payment-history p{overflow-wrap:anywhere;margin:5px 0}.payment-panel summary{cursor:pointer;padding:12px 0}.payment-panel .section-head{flex-wrap:wrap;gap:12px}.payment-list{min-width:0}@media (width<=760px){.payment-totals{grid-template-columns:1fr}.payment-totals>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.payment-totals dd{white-space:nowrap;font-size:18px}.payment-form{padding:12px}.payment-panel h3{font-size:18px}}.payment-panel{padding:24px}.payment-panel .section-head{padding:0 0 14px}.payment-panel .payment-student>.section-head{border:0;min-height:0}.payment-panel .payment-student{padding:20px 0}.payment-panel .section-head .secondary{min-height:44px;font-size:14px}@media (width<=760px){.payment-panel{padding:16px}.payment-panel .section-head .secondary{font-size:15px}}.payment-panel .pill{letter-spacing:0;padding:5px 9px;font-size:13px;line-height:1.4}.payment-panel .payment-totals dt{font-size:14px}.roster-row .cabinet-open{white-space:normal;min-height:44px;margin-top:12px;font-size:13px;line-height:1.4}.roster-share>.primary{white-space:normal;min-height:44px}@media (width<=760px){.roster-row .cabinet-open{width:100%;font-size:15px}}.students-table th{color:var(--ui-ink-65715d,#65715d);font-size:14px;line-height:1.5}.students-table td{padding:20px 23px;font-size:16px;line-height:1.5}.students-table .student>span{font-size:17px;font-weight:500}.students-table td>small{color:var(--ui-ink-68745e,#68745e);font-size:14px;line-height:1.5}.students-table .badge{color:var(--ui-ink-65715d,#65715d);font-size:14px;line-height:1.4}.students-table .row-actions button{min-height:44px;font-size:16px;line-height:1.4}.students-table .row-actions{gap:16px}.students-table .progress{width:108px;height:5px}.students-table .badge.review{color:var(--ui-ink-80601e,#80601e)}.students-table .badge.approved{color:var(--ui-ink-476735,#476735)}.students-table .badge.revision{color:var(--ui-ink-874d32,#874d32)}@media (width<=760px){.students-table td{padding:16px}.students-table .student>span{font-size:17px}}.payment-step{padding:24px}.payment-step>.payment-panel{border:0;margin:0 0 20px;padding:0;overflow:visible}.parent .steps{flex-wrap:wrap}.parent .steps button{white-space:normal;min-width:100px;min-height:44px}.payment-step>.secondary{min-height:44px;font-size:15px}@media (width<=760px){.payment-step{padding:18px}.parent .steps button{min-width:0}}.roster-student-name{min-width:0}.student-share-button{text-align:left;min-height:44px;font-size:14px;line-height:1.4;display:block}.student-share-link{background:var(--ui-surface-f4f7ed,#f4f7ed);overflow-wrap:anywhere;border-radius:8px;padding:10px}.student-share-link label{font-size:13px;line-height:1.5}.student-share-link input{min-width:0;font-size:14px}.student-share-link>div{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.student-share-link .secondary,.student-share-link .text-button{min-height:44px;font-size:14px}@media (width<=760px){.student-share-button,.student-share-link input{font-size:16px}}.contract-classes{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid;overflow:visible}.contract-classes .class{white-space:normal;text-align:left;align-items:flex-start;width:100%;min-width:0}.contract-classes .class>div{flex:1;min-width:0}.contract-badges{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.contract-chip{background:var(--ui-surface-f0f1ed,#f0f1ed);color:var(--ui-ink-626c60,#626c60);border-radius:6px;padding:5px 7px;line-height:1.4;font-size:12px!important;display:inline-block!important}.contract-chip.done{background:var(--ui-surface-e2eedc,#e2eedc);color:var(--ui-ink-365e2c,#365e2c)}.contract-chip.partial{background:var(--ui-surface-fff0c9,#fff0c9);color:var(--ui-ink-805e0d,#805e0d)}.contract-panel{margin:24px 0;padding:24px}.contract-panel h2{margin:10px 0;font-size:24px;line-height:1.4}.contract-cash{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0;display:grid}.contract-cash>div{background:var(--ui-surface-f3f6ed,#f3f6ed);border-radius:10px;padding:15px}.contract-cash small{color:var(--ui-ink-64725a,#64725a);font-size:14px;line-height:1.4;display:block}.contract-cash strong{margin-top:8px;font-size:22px;display:block}.contract-plan{flex-wrap:wrap;align-items:flex-end;gap:12px;margin:24px 0;display:flex}.contract-plan label{max-width:300px;margin:0;font-size:15px}.contract-plan button{min-height:44px}.contract-stages{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.contract-stage{border:1px solid var(--ui-line-dfe5d7,#dfe5d7);background:var(--ui-surface-f6f7f3,#f6f7f3);border-radius:10px;padding:18px}.contract-stage.done{background:var(--ui-surface-edf5e6,#edf5e6);border-color:var(--ui-line-c4d8b2,#c4d8b2)}.contract-stage.partial{background:var(--ui-surface-fff7e3,#fff7e3);border-color:var(--ui-line-eedba4,#eedba4)}.contract-stage>div{align-items:flex-start;gap:10px;display:flex}.contract-stage h3{margin:0;font-size:17px;line-height:1.4}.contract-stage-number{background:var(--ui-surface-e0e5d9,#e0e5d9);height:28px;color:var(--ui-ink-526648,#526648);border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;display:flex}.contract-stage.done .contract-stage-number{background:var(--ui-surface-4d743c,#4d743c);color:var(--ui-ink-ffffff,#fff)}.contract-stage.partial .contract-stage-number{background:var(--ui-surface-e0b953,#e0b953);color:var(--ui-ink-493a14,#493a14)}.contract-stage p,.contract-stage label{font-size:15px;line-height:1.5}.contract-stage>strong{margin:12px 0;font-size:20px;display:block}.contract-stage>small{color:var(--ui-ink-65725b,#65725b);font-size:13px;line-height:1.6;display:block}.contract-stage .check{margin-top:16px}.contract-stage select{font-size:16px}@media (width<=760px){.contract-classes{display:flex;overflow:auto}.contract-classes .class{min-width:290px;max-width:320px}.contract-panel{padding:18px}.contract-panel h2{font-size:22px}.contract-cash{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-cash strong{font-size:19px}.contract-stages{grid-template-columns:1fr}.contract-chip{font-size:13px!important}.contract-plan .secondary{font-size:15px}}.contract-selector{margin:24px 0}.contract-selector label{color:var(--ui-ink-526349,#526349);margin-bottom:8px;font-size:16px;display:block}.contract-selector select{background:var(--ui-surface-fff,#fff);width:100%;min-height:54px;margin:0;padding:12px 16px;font-size:18px;line-height:1.5}.contract-table-wrap{border:1px solid var(--ui-line-dfe5d7,#dfe5d7);border-radius:10px;margin:20px 0;overflow-x:auto}.contract-table{white-space:normal;table-layout:fixed;width:100%;min-width:640px}.contract-table th,.contract-table td{text-align:left;vertical-align:middle;border-bottom:1px solid var(--ui-line-e4e9dd,#e4e9dd);padding:16px;font-size:15px;line-height:1.5}.contract-table thead th{background:var(--ui-surface-f4f6ef,#f4f6ef);color:var(--ui-ink-5d6b53,#5d6b53);font-size:14px;font-weight:500}.contract-table th:first-child{width:29%}.contract-table th:nth-child(2){width:18%}.contract-table th:nth-child(3){width:23%}.contract-table th:nth-child(4){width:30%}.contract-table tbody th{background:var(--ui-surface-fff,#fff);font-weight:500}.contract-stage-title{align-items:center;gap:10px;display:flex}.contract-stage-number.done{background:var(--ui-surface-4d743c,#4d743c);color:var(--ui-ink-ffffff,#fff)}.contract-stage-number.partial{background:var(--ui-surface-e0b953,#e0b953);color:var(--ui-ink-493a14,#493a14)}.contract-table td>strong,.contract-table td>small{margin:4px 0;display:block}.contract-table td>small,.contract-auto{color:var(--ui-ink-68765e,#68765e);font-size:13px;line-height:1.6}.contract-table label{margin:0;font-size:14px}.contract-table select{margin:6px 0 0;font-size:16px}.contract-table .check{white-space:normal}.contract-table tr:last-child th,.contract-table tr:last-child td{border-bottom:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=760px){.contract-selector select{font-size:16px}.contract-table th,.contract-table td{padding:12px}}.contract-progress-text{color:var(--ui-ink-31492e,#31492e);margin:12px 0;font-size:17px}.contract-progress-text strong{color:var(--ui-ink-24441e,#24441e);font-size:21px}:root{--text-body:15px;--text-caption:13px;--text-heading:26px;font-size:var(--text-body);color:var(--ui-ink-2e4235,#2e4235);line-height:1.5}body{font-size:var(--text-body);line-height:1.5}.content{line-height:1.5}.content h1,.access-card h1{letter-spacing:-.4px;font-size:26px;line-height:1.3}.content h2,.content .wizard h2,.contract-panel h2,.payment-panel h2{letter-spacing:-.2px;font-size:22px;line-height:1.4}.content h3,.payment-panel .payment-student h3{font-size:18px;line-height:1.4}.content .banner h2{font-size:24px}.content .muted{color:var(--ui-ink-59684f,#59684f);font-size:14px;line-height:1.6}.content .eyebrow{letter-spacing:1px;color:var(--ui-ink-59684f,#59684f);font-size:12px}.content label{color:var(--ui-ink-3c4f35,#3c4f35);font-size:14px;line-height:1.5}.content input,.content select,.content textarea{font-size:15px;line-height:1.5}.content input:not([type=checkbox]):not([type=radio]),.content select{min-height:44px}.content .primary,.content .secondary,.content .text-button,.workspace-mobile-nav button{min-height:44px;font-size:14px;line-height:1.4}.content .primary,.content .secondary{padding:11px 16px}.content .pill,.content .badge{letter-spacing:0;color:var(--ui-ink-4e6241,#4e6241);font-size:13px;line-height:1.5}.content .badge.review{color:var(--ui-ink-80601e,#80601e)}.content .badge.approved{color:var(--ui-ink-476735,#476735)}.content .badge.revision{color:var(--ui-ink-874d32,#874d32)}.content .check{font-size:15px;line-height:1.5}.content .check input{flex:0 0 18px;width:18px;height:18px;min-height:18px}.content .section-head{gap:12px}.content .section-head .secondary,.content .section-head .primary,.content .tabs button{font-size:14px}.content .heading{flex-wrap:wrap;gap:18px}.content .heading-buttons{flex-wrap:wrap;gap:10px}header{color:var(--ui-ink-5b6a52,#5b6a52);font-size:13px;line-height:1.5}nav button{font-size:14px;line-height:1.5}.studio{font-size:11px}.aside-note h4{font-size:14px}.aside-note p{color:var(--ui-ink-63715a,#63715a);font-size:13px;line-height:1.6}.profile{font-size:14px}.profile small,.content footer{color:var(--ui-ink-63715a,#63715a);font-size:12px}.content th{color:var(--ui-ink-3b4f34,#3b4f34);font-size:14px;line-height:1.5}.content td{font-size:15px;line-height:1.5}.content .students-table .student>span{font-size:15px}.content .students-table td>small{font-size:13px}.content .students-table .row-actions button{min-height:44px;font-size:14px}.content .roster-labels{color:var(--ui-ink-59684f,#59684f);font-size:13px}.content .roster-row .muted,.content .roster-row small{font-size:13px;line-height:1.5}.content .roster-student-name label,.content .student-share-link label{font-size:13px}.content .roster-row .cabinet-open{font-size:14px}.content .stats small{color:var(--ui-ink-59684f,#59684f);font-size:13px;line-height:1.4}.content .stats b{font-size:26px}.content .banner p,.content .banner div>small:last-child{color:var(--ui-ink-4e6440,#4e6440);font-size:14px}.content .design-plan h3{font-size:20px;line-height:1.4}.content .design-plan li{font-size:15px;line-height:1.6}.content .design-plan-heading p,.content .design-plan>.muted{color:var(--ui-ink-59684f,#59684f);font-size:14px;line-height:1.6}.content .design-editor legend{font-size:16px;font-weight:600}.content .design-editor .check{font-size:15px}.content .design-editor fieldset{padding:20px}.content .design-editor .fields{gap:16px}.content .design-card-actions{flex-wrap:wrap;gap:10px}.content .contract-panel,.content .payment-panel{font-size:15px;line-height:1.5}.content .contract-selector label{font-size:15px;font-weight:500}.content .contract-selector select{min-height:48px;font-size:16px}.content .contract-cash small{color:var(--ui-ink-4b6040,#4b6040);font-size:14px;line-height:1.5}.content .contract-cash strong{color:var(--ui-ink-243f2b,#243f2b);overflow-wrap:anywhere;font-size:21px;line-height:1.4}.content .contract-plan label{font-size:14px}.content .contract-table th,.content .contract-table td,.content .contract-table tbody th{font-size:15px;line-height:1.5}.content .contract-table thead th{color:var(--ui-ink-334b2e,#334b2e);font-size:14px;font-weight:600}.content .contract-table .contract-chip{line-height:1.5;font-size:13px!important}.content .contract-table td>small,.content .contract-auto{color:var(--ui-ink-52654a,#52654a);font-size:13px;line-height:1.6}.content .contract-table label{font-size:14px}.content .contract-table td>strong{font-size:16px}.content .contract-progress-text{font-size:15px}.content .contract-progress-text strong{font-size:18px}.content .payment-panel>p,.content .payment-panel summary,.content .payment-history p{font-size:14px;line-height:1.6}.content .payment-totals dt{font-size:14px}.content .payment-totals dd{font-size:20px}.content .payment-panel .pill{font-size:13px}.content .steps button{min-height:44px;font-size:14px;line-height:1.4}.content .wizard>small{font-size:12px;line-height:1.5}.content .album-notice,.content .wizard>.muted:last-child{font-size:13px;line-height:1.6}.content .selected-frame small{font-size:12px;line-height:1.4}.content .selected-frame strong{font-size:15px;line-height:1.5}.content .selected-frame p,.content .photo span{font-size:13px;line-height:1.5}.content .folder-tile strong{font-size:15px}.content .folder-tile small{font-size:13px}.content .disk-top p,.content .disk-pagination{font-size:14px}.content .photo-controls button{min-height:40px;font-size:13px}.content .parent-welcome h2{font-size:24px}.content .parent-confirmation h3{font-size:18px}.content .parent-photo-caption h3{font-size:16px}.content .error{font-size:14px;line-height:1.5}@media (width<=760px){.content h1,.access-card h1{font-size:24px}.content h2,.content .wizard h2,.content .banner h2,.contract-panel h2,.payment-panel h2,.content .design-plan h3{font-size:20px}.content input,.content select,.content textarea,.content .contract-selector select{font-size:16px}.content .contract-cash strong{font-size:20px}.content .primary,.content .secondary,.content .text-button{min-height:44px}.content .section-head .primary,.content .section-head .secondary,.content .steps button{font-size:14px}.content .stats b{font-size:24px}.content .design-editor fieldset{padding:16px}.content .contract-table th,.content .contract-table td{font-size:15px}header{font-size:12px}.content .heading-buttons{width:100%}}.manager-cash{border-top:1px solid var(--ui-line-dfe5d7,#dfe5d7);border-bottom:1px solid var(--ui-line-dfe5d7,#dfe5d7);margin:20px 0;padding:20px 0}.manager-cash h3{margin:12px 0}.manager-cash form{margin:16px 0 24px}.manager-cash .fields{max-width:640px}.cash-comparison-wrap{border:1px solid var(--ui-line-dfe5d7,#dfe5d7);border-radius:8px;overflow-x:auto}.cash-comparison{white-space:normal;table-layout:fixed;width:100%;min-width:600px}.cash-comparison th,.cash-comparison td{text-align:left;border-bottom:1px solid var(--ui-line-e5e9de,#e5e9de);padding:14px;font-size:14px;line-height:1.5}.cash-comparison thead th{background:var(--ui-surface-edf2e6,#edf2e6);color:var(--ui-ink-334b2e,#334b2e)}.cash-comparison tbody tr:last-child th,.cash-comparison tbody tr:last-child td{border-bottom:0;font-weight:600}.cash-comparison tbody th{font-weight:500}.content .design-option-select .option-add{min-width:44px;padding:8px;font-size:22px;line-height:1}.album-cost-summary{background:var(--ui-surface-f3f6ed,#f3f6ed);border:1px solid var(--ui-line-dfe6d5,#dfe6d5);border-radius:10px;margin:24px 0;padding:18px}.album-cost-summary h3{margin:0 0 16px;font-size:18px}.album-cost-summary dl{margin:0}.album-cost-summary dl>div{justify-content:space-between;gap:16px;padding:10px 0;line-height:1.5;display:flex}.album-cost-summary dt{color:var(--ui-ink-405237,#405237);font-size:14px}.album-cost-summary dd{text-align:right;flex-shrink:0;margin:0;font-size:15px}.album-cost-summary .album-cost-total{border-top:1px solid var(--ui-line-cdd8c2,#cdd8c2);margin-top:8px;font-weight:600}.album-cost-summary .album-cost-total dd{font-size:19px}.album-cost-summary .muted{font-size:13px;line-height:1.6}@media (width<=760px){.album-cost-summary{padding:14px}.album-cost-summary dl>div{flex-wrap:wrap;gap:6px}.album-cost-summary dd{margin-left:auto}}.settings-back{margin-bottom:20px}.album-settings-page{max-width:1100px;padding:28px;overflow:visible}.album-settings-page>.fields{margin-top:20px}.album-settings-page h1{margin-top:10px}.album-settings-page .actions{margin-top:24px}.album-settings-page>h3{margin-top:28px}@media (width<=760px){.album-settings-page{padding:18px}.album-settings-page .actions{gap:12px}}.shoot-folders{margin:28px 0}.shoot-card{border:1px solid var(--line,var(--ui-line-dce1d6,#dce1d6));background:var(--ui-surface-fafbf8,#fafbf8);border-radius:12px;margin:16px 0;padding:22px}.shoot-card>label{margin-bottom:12px;display:block}.shoot-browser,.shoot-selected{border-top:1px solid var(--ui-line-dce1d6,#dce1d6);margin-top:18px;padding-top:14px}.shoot-folder-row{border-bottom:1px solid var(--ui-line-e5e8df,#e5e8df);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.shoot-folder-row small{overflow-wrap:anywhere;margin-top:4px;display:block}.shoot-folder-row>div{flex:1;min-width:0}.shoot-card .check{align-items:center;gap:10px;display:flex}.shoot-card .check input{flex:none;width:18px;height:18px}.shoot-card nav{flex-wrap:wrap;display:flex}.shoot-folder-row>label:not(.check){font-size:13px}@media (width<=760px){.shoot-card{padding:16px}.shoot-folder-row{flex-wrap:wrap;gap:10px}.shoot-folder-row>div{flex-basis:100%}}.app>main{min-width:0;margin-left:0}.workspace-header{flex-wrap:wrap;gap:28px;height:auto;min-height:82px;padding:16px 42px}.workspace-header .brand{flex:none;font-size:27px;line-height:1.2}.workspace-header .brand b{padding:6px 10px;font-size:25px}.workspace-header .workspace-location{overflow-wrap:anywhere;flex:1;min-width:180px;display:block}.workspace-profile{color:var(--ui-ink-314a38,#314a38);flex:none;align-items:center;gap:11px;margin-left:auto;font-size:14px;line-height:1.4;display:flex}.workspace-profile>b{background:var(--ui-surface-e9eedf,#e9eedf);border-radius:50%;place-items:center;width:42px;height:42px;font-size:17px;display:grid}.workspace-profile small{color:var(--ui-ink-59684f,#59684f);margin-top:2px;font-size:12px;display:block}.app:not(.parent)>.content{width:100%}@media (width<=760px){.workspace-header{gap:12px;min-height:72px;padding:14px 16px}.workspace-header .brand{font-size:23px}.workspace-header .brand b{font-size:21px}.workspace-header .workspace-location{flex-basis:100%;order:3;min-width:0;font-size:12px}.workspace-profile{gap:8px;font-size:13px}.workspace-profile>b{width:34px;height:34px;font-size:15px}.workspace-profile small{font-size:11px}}.contract-disclosure>.contract-toggle{cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;list-style:none;display:flex}.contract-toggle::-webkit-details-marker{display:none}.contract-toggle:focus-visible{outline:3px solid var(--ui-line-c89c61,#c89c61);outline-offset:6px}.content .contract-toggle h2{margin:0 0 8px}.contract-toggle .contract-progress-text{margin:0}.contract-toggle-arrow{background:var(--ui-surface-edf2e7,#edf2e7);width:40px;height:40px;color:var(--ui-ink-365a40,#365a40);border-radius:50%;flex:0 0 40px;place-items:center;font-size:25px;transition:transform .15s;display:grid}.contract-disclosure[open]>.contract-toggle .contract-toggle-arrow{transform:rotate(180deg)}.contract-details{border-top:1px solid var(--ui-line-e1e7d9,#e1e7d9);margin-top:22px;padding-top:16px}@media (width<=760px){.contract-toggle{gap:12px}.content .contract-toggle h2{font-size:19px}.contract-toggle-arrow{flex-basis:34px;width:34px;height:34px}.contract-details{margin-top:18px;padding-top:12px}}.settings-photo-source>label{display:block}.settings-photo-source>.primary{margin-top:10px}.settings-photo-source p{margin-bottom:0}.album-settings-page>.group-vote{border-top:1px solid var(--ui-line-dfe5d7,#dfe5d7);margin-top:28px;padding-top:24px}.contract-progress-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.contract-progress-row .contract-toggle-label{white-space:nowrap;justify-content:center;align-items:center;min-height:44px;margin:0;display:inline-flex}.contract-toggle-collapse,.contract-disclosure[open] .contract-toggle-expand{display:none}.contract-disclosure[open] .contract-toggle-collapse{display:inline}.content .contract-toggle h2{margin-bottom:12px}@media (width<=760px){.contract-progress-row{gap:10px}.content .contract-progress-row .contract-toggle-label{padding:10px 14px}}.vote-disclosure{border-bottom:1px solid var(--ui-line-e1e7d9,#e1e7d9);padding:22px 24px}.vote-disclosure-toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;list-style:none;display:flex}.vote-disclosure-toggle::-webkit-details-marker{display:none}.content .vote-disclosure-toggle h2{margin:0}.vote-disclosure-toggle .primary{white-space:nowrap;justify-content:center;align-items:center;display:inline-flex}.vote-collapse,.vote-disclosure[open]>.vote-disclosure-toggle .vote-expand{display:none}.vote-disclosure[open]>.vote-disclosure-toggle .vote-collapse{display:inline}.vote-disclosure-toggle:focus-visible{outline:3px solid var(--ui-line-c89c61,#c89c61);outline-offset:6px}.project-archive{color:var(--ui-ink-59684f,#59684f);margin:0 0 22px;font-size:14px}.project-archive>summary{cursor:pointer;padding:8px 0}.archive-row{border-bottom:1px solid var(--ui-line-e1e7d9,#e1e7d9);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}@media (width<=760px){.vote-disclosure{padding:18px 14px}.vote-disclosure-toggle{gap:10px}.content .vote-disclosure-toggle h2{font-size:18px}.content .vote-disclosure-toggle .primary{padding:10px 12px}.archive-row{flex-wrap:wrap}}.contract-panel.contract-disclosure{padding:0;overflow:hidden}.contract-disclosure>.contract-toggle{background:var(--ui-surface-e7edd7,#e7edd7);border-radius:0;gap:28px;min-height:205px;padding:28px 30px}.contract-intro{flex:1;min-width:0}.contract-disclosure .contract-details{border-top:1px solid var(--ui-line-d8e2c7,#d8e2c7);background:var(--ui-surface-fff,#fff);margin:0;padding:24px 28px}.contract-album-meta{color:var(--ui-ink-526347,#526347);overflow-wrap:anywhere;margin:16px 0 6px;font-size:14px;line-height:1.6}.contract-deadline{color:var(--ui-ink-526347,#526347);font-size:13px}.contract-disclosure .contract-book{pointer-events:none;flex:0 0 96px;width:96px;min-width:0;height:140px;margin:0 12px 0 0;padding:18px 12px;font-size:14px}.contract-disclosure .contract-book small{margin-top:22px}.contract-disclosure .contract-book i{font-size:58px}.contract-toggle:focus-visible{outline-offset:-4px}@media (width<=760px){.contract-disclosure>.contract-toggle{align-items:flex-start;gap:14px;min-height:0;padding:22px 18px}.contract-disclosure .contract-book{flex-basis:64px;width:64px;height:98px;margin:8px 2px 0 0;padding:12px 8px;font-size:10px}.contract-disclosure .contract-book small{margin-top:14px;font-size:9px}.contract-disclosure .contract-book i{font-size:40px}.contract-album-meta{font-size:13px}.contract-deadline{font-size:12px}.contract-disclosure .contract-details{padding:18px 14px}}.stats-summary{background:var(--ui-surface-fff,#fff);border:1px solid var(--ui-line-e1e7d9,#e1e7d9);border-radius:9px;grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0 22px;padding:0;display:grid}.stats-summary>div{justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:14px 18px;display:flex}.stats-summary>div+div{border-left:1px solid var(--ui-line-e7ebdf,#e7ebdf)}.stats-summary dt{color:var(--ui-ink-59684f,#59684f);font-size:14px;line-height:1.4}.stats-summary dd{color:var(--ui-ink-2e4d38,#2e4d38);flex:none;margin:0;font-size:18px;font-weight:600}@media (width<=1000px){.stats-summary>div{gap:8px;padding:12px}.stats-summary dt{font-size:13px}}@media (width<=600px){.stats-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin:14px 0 18px}.stats-summary>div{padding:10px 12px}.stats-summary>div:nth-child(3){border-left:0}.stats-summary>div:nth-child(n+3){border-top:1px solid var(--ui-line-e7ebdf,#e7ebdf)}.stats-summary dd{font-size:17px}}.content .roster-labels,.content .roster-row{grid-template-columns:24px minmax(160px,1.1fr) minmax(120px,.8fr) minmax(160px,1.1fr) minmax(210px,1fr);gap:12px;padding:10px 0}.roster-row .roster-field-label{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.content .roster-row input{min-height:40px;padding:8px 10px}.content .roster-row textarea{resize:vertical;height:64px;min-height:64px;padding:8px 10px}.content .roster-row .primary,.content .roster-row .secondary{min-height:36px;padding:8px 10px;font-size:13px}.content .roster-row .text-button{min-height:32px;margin:0;padding:4px 0;font-size:13px}.content .roster-row .roster-save-cell{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.content .roster-save-cell>.muted{flex:1;margin:0}.content .roster-save-cell>small{width:100%;font-size:12px;line-height:1.4}.content .roster-row .cabinet-open{margin:0;line-height:1.4}.content .roster-portrait{gap:6px}.content .roster-portrait img{width:44px;height:54px}.content .roster-portrait small{font-size:12px;line-height:1.3}.content .roster-student-name .student-share-button{margin-top:3px}.content .class-portraits>p[role=status]:empty{display:none}.content .roster-share{gap:8px;padding:12px 0}.content .roster-share>p{margin:2px 0 0;font-size:12px}@media (width<=900px){.content .roster-labels{display:none}.content .roster-row{grid-template-columns:20px minmax(0,1fr);align-items:start;gap:8px 10px;padding:12px 0}.roster-student-name,.content .roster-row>label,.content .roster-row>.roster-portrait,.content .roster-row>.roster-save-cell{grid-column:2}.roster-row .roster-field-label{clip:auto;white-space:normal;width:auto;height:auto;margin-bottom:4px;font-size:13px;display:block;position:static;overflow:visible}.content .roster-row input{min-height:44px;font-size:16px}.content .roster-row textarea{min-height:64px;margin:0;font-size:16px}.content .roster-row .primary,.content .roster-row .secondary,.content .roster-row .text-button{min-height:44px;font-size:14px}.content .roster-row .cabinet-open{width:auto}.content .roster-row .roster-save-cell{gap:4px 10px}.content .roster-save-cell>small{flex:140px;width:auto}.content .roster-portrait img{width:44px;height:54px}.content .roster-share>p{font-size:13px}}@media (width>=901px){.content .roster-no-quotes .roster-labels,.content .roster-no-quotes .roster-row{grid-template-columns:24px minmax(160px,1.3fr) minmax(140px,1fr) minmax(210px,1fr)}}.photo-zoom-stage{touch-action:none;cursor:grab;overflow:hidden}.photo-zoom-stage:active{cursor:grabbing}.photo-zoom-stage .photo-screen-image{pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:50%}.photo-zoom-tools{z-index:3;gap:6px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.photo-zoom-tools button,.photo-screen .photo-arrow,.photo-screen-header button{background:var(--ui-surface-386339,#386339);color:var(--ui-ink-fff,#fff);border:1px solid var(--ui-line-73966b,#73966b);border-radius:8px;min-width:44px;min-height:44px;font-size:20px}.photo-zoom-tools button:nth-child(2){min-width:70px;font-size:15px}.photo-zoom-tools button:disabled,.photo-screen .photo-arrow:disabled{opacity:.4}.disk-pagination .secondary,.parent-review-actions .secondary{background:var(--ui-surface-386339,#386339);color:var(--ui-ink-fff,#fff);border-color:var(--ui-line-386339,#386339)}.actions button.secondary:has(+.primary){background:var(--ui-surface-386339,#386339);color:var(--ui-ink-fff,#fff);border-color:var(--ui-line-386339,#386339)}.disk-pagination button:disabled{background:var(--ui-surface-e2e8dc,#e2e8dc);color:var(--ui-ink-687560,#687560);border-color:var(--ui-line-cbd5c3,#cbd5c3);opacity:1}.class-teachers{border-top:1px solid var(--ui-line-dce5d4,#dce5d4);padding:24px}.teacher-entry{background:var(--ui-surface-f6f8f2,#f6f8f2);border:1px solid var(--ui-line-dce5d4,#dce5d4);border-radius:10px;margin:16px 0;padding:16px}.teacher-entry h3{margin-top:0}.teacher-photo-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.teacher-photo-actions img{object-fit:cover;border-radius:6px;width:90px;height:110px}.teacher-photo-picker{border:1px solid var(--ui-line-bfd0b4,#bfd0b4);border-radius:10px;padding:18px}.class-teachers textarea{min-height:100px}@media (width<=760px){.class-teachers{padding:16px}.teacher-entry,.teacher-photo-picker{padding:12px}.teacher-photo-actions button{min-height:44px}}.teacher-photo-actions>.image-button{flex:none;width:auto;padding:0}.teacher-photo-actions>.image-button img{display:block}.brand .brand-logo{object-fit:cover;width:220px;max-width:100%;height:58px;display:block}html[data-theme=dark] .brand-logo{filter:brightness(2.5)saturate(.65)}@media (width<=760px){.brand .brand-logo{width:170px;height:46px}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ui-ink-243f2b:#f2f3f4;--ui-ink-24441e:#f2f3f4;--ui-ink-2c5140:#f2f3f4;--ui-ink-2e4235:#f2f3f4;--ui-ink-2e4d38:#f2f3f4;--ui-ink-31492e:#f2f3f4;--ui-ink-314a38:#f2f3f4;--ui-ink-334b2e:#f2f3f4;--ui-ink-344e39:#f2f3f4;--ui-ink-35622e:#f2f3f4;--ui-ink-365a40:#f2f3f4;--ui-ink-365e2c:#f2f3f4;--ui-ink-395d40:#f2f3f4;--ui-ink-3b4f34:#f2f3f4;--ui-ink-3c4f35:#f2f3f4;--ui-ink-405237:#f2f3f4;--ui-ink-42623c:#f2f3f4;--ui-ink-436445:#f2f3f4;--ui-ink-476735:#ddc394;--ui-ink-493a14:#f0ad9e;--ui-ink-4b6040:#f2f3f4;--ui-ink-4b6842:#f2f3f4;--ui-ink-4c7740:#f2f3f4;--ui-ink-4e6241:#f2f3f4;--ui-ink-4e6440:#f2f3f4;--ui-ink-526347:#f2f3f4;--ui-ink-526349:#f2f3f4;--ui-ink-52654a:#f2f3f4;--ui-ink-526648:#f2f3f4;--ui-ink-526947:#f2f3f4;--ui-ink-526b44:#f2f3f4;--ui-ink-59674d:#f2f3f4;--ui-ink-59684f:#f2f3f4;--ui-ink-596c54:#f2f3f4;--ui-ink-5b6a52:#f2f3f4;--ui-ink-5d6b53:#f2f3f4;--ui-ink-607252:#f2f3f4;--ui-ink-626c60:#f2f3f4;--ui-ink-627457:#f2f3f4;--ui-ink-63715a:#f2f3f4;--ui-ink-637457:#f2f3f4;--ui-ink-64725a:#f2f3f4;--ui-ink-65715d:#f2f3f4;--ui-ink-65725b:#f2f3f4;--ui-ink-65736c:#b8bec3;--ui-ink-68745e:#f2f3f4;--ui-ink-687560:#f2f3f4;--ui-ink-68765e:#f2f3f4;--ui-ink-68795c:#f2f3f4;--ui-ink-72846a:#b8bec3;--ui-ink-748668:#b8bec3;--ui-ink-758665:#b8bec3;--ui-ink-758767:#b8bec3;--ui-ink-758b61:#b8bec3;--ui-ink-768668:#b8bec3;--ui-ink-77945e:#b8bec3;--ui-ink-788f65:#b8bec3;--ui-ink-7e9270:#b8bec3;--ui-ink-805e0d:#f0ad9e;--ui-ink-80601e:#f0ad9e;--ui-ink-819171:#b8bec3;--ui-ink-819572:#b8bec3;--ui-ink-82956c:#b8bec3;--ui-ink-849376:#b8bec3;--ui-ink-849677:#b8bec3;--ui-ink-859477:#b8bec3;--ui-ink-859775:#b8bec3;--ui-ink-874d32:#f0ad9e;--ui-ink-8a9879:#b8bec3;--ui-ink-8a987c:#b8bec3;--ui-ink-8a997c:#b8bec3;--ui-ink-8b9b79:#b8bec3;--ui-ink-8c997b:#b8bec3;--ui-ink-8c9b78:#b8bec3;--ui-ink-8c9b7b:#b8bec3;--ui-ink-8c9b7d:#b8bec3;--ui-ink-8c9b7e:#b8bec3;--ui-ink-8c9c79:#b8bec3;--ui-ink-8c9c7a:#b8bec3;--ui-ink-8d9ab0:#b8bec3;--ui-ink-8d9b7a:#b8bec3;--ui-ink-8d9b7b:#b8bec3;--ui-ink-8e9d7a:#b8bec3;--ui-ink-919b84:#b8bec3;--ui-ink-91a07f:#b8bec3;--ui-ink-929986:#b8bec3;--ui-ink-929d87:#b8bec3;--ui-ink-93a47f:#b8bec3;--ui-ink-94713b:#f0ad9e;--ui-ink-94a085:#b8bec3;--ui-ink-95a187:#b8bec3;--ui-ink-96a088:#b8bec3;--ui-ink-96a486:#b8bec3;--ui-ink-98a08d:#b8bec3;--ui-ink-98a08e:#b8bec3;--ui-ink-9aa28f:#b8bec3;--ui-ink-9ba28d:#b8bec3;--ui-ink-9ba38e:#b8bec3;--ui-ink-a0a88f:#b8bec3;--ui-ink-a26848:#f0ad9e;--ui-ink-a2a994:#b8bec3;--ui-ink-a2ac94:#b8bec3;--ui-ink-aa925b:#ddc394;--ui-ink-aa995d:#ddc394;--ui-ink-ad8d65:#ddc394;--ui-ink-b07e64:#f0ad9e;--ui-ink-b38e46:#f0ad9e;--ui-ink-b8c9a6:#b8bec3;--ui-ink-c89557:#f0ad9e;--ui-ink-d4dec2:#b8bec3;--ui-ink-dbb572:#ddc394;--ui-ink-eaf0de:#f2f3f4;--ui-ink-fff:#f2f3f4;--ui-ink-ffffff:#f2f3f4;--ui-line-2c5140:#3e4448;--ui-line-386339:#3e4448;--ui-line-527547:#3e4448;--ui-line-597e48:#3e4448;--ui-line-729063:#3e4448;--ui-line-73966b:#3e4448;--ui-line-76916b:#3e4448;--ui-line-bfd0b4:#3e4448;--ui-line-c4d8b2:#3e4448;--ui-line-c89c61:#3e4448;--ui-line-cbd5c3:#3e4448;--ui-line-cdd8c2:#3e4448;--ui-line-d7e4ca:#3e4448;--ui-line-d8e2c7:#3e4448;--ui-line-d8e3c9:#3e4448;--ui-line-dce1d6:#3e4448;--ui-line-dce2d5:#3e4448;--ui-line-dce5d0:#3e4448;--ui-line-dce5d4:#3e4448;--ui-line-dfe5d6:#3e4448;--ui-line-dfe5d7:#3e4448;--ui-line-dfe6d5:#3e4448;--ui-line-dfe6d6:#3e4448;--ui-line-dfe7d1:#3e4448;--ui-line-dfe7d4:#3e4448;--ui-line-dfe7d5:#3e4448;--ui-line-e0e6d5:#3e4448;--ui-line-e0e7d6:#3e4448;--ui-line-e0e7d7:#3e4448;--ui-line-e1e6d8:#3e4448;--ui-line-e1e7d6:#3e4448;--ui-line-e1e7d8:#3e4448;--ui-line-e1e7d9:#3e4448;--ui-line-e2e6d9:#3e4448;--ui-line-e2e7d9:#3e4448;--ui-line-e2e8d9:#3e4448;--ui-line-e3e7db:#3e4448;--ui-line-e3e8d9:#3e4448;--ui-line-e4e9dd:#3e4448;--ui-line-e4ead8:#3e4448;--ui-line-e5e8df:#3e4448;--ui-line-e5e9de:#3e4448;--ui-line-e5eadc:#3e4448;--ui-line-e6e8e0:#3e4448;--ui-line-e6ebde:#3e4448;--ui-line-e7eadf:#3e4448;--ui-line-e7ebdf:#3e4448;--ui-line-e7ecdf:#3e4448;--ui-line-e8eddf:#3e4448;--ui-line-ead3a1:#3e4448;--ui-line-edf0e6:#3e4448;--ui-line-edf0e7:#3e4448;--ui-line-eedba4:#3e4448;--ui-line-eef1e7:#3e4448;--ui-surface-1a30256b:#3035396b;--ui-surface-2c5140:#303539;--ui-surface-2d5140:#303539;--ui-surface-30543f:#303539;--ui-surface-345442:#303539;--ui-surface-386339:#303539;--ui-surface-40684d:#303539;--ui-surface-416446:#303539;--ui-surface-42623c:#303539;--ui-surface-4d743c:#303539;--ui-surface-91aa74:#393d41;--ui-surface-e0b953:#393d41;--ui-surface-e0e5d9:#2b2e31;--ui-surface-e2e8dc:#2b2e31;--ui-surface-e2eedc:#2b2e31;--ui-surface-e4ebd9:#2b2e31;--ui-surface-e5eddc:#2b2e31;--ui-surface-e7eaf0:#222426;--ui-surface-e7edd7:#2b2e31;--ui-surface-e8edda:#2b2e31;--ui-surface-e8efde:#222426;--ui-surface-e8efdf:#222426;--ui-surface-e9e8dd:#2b2e31;--ui-surface-e9eedf:#222426;--ui-surface-eaf0df:#222426;--ui-surface-eaf2e4:#222426;--ui-surface-edf2e5:#222426;--ui-surface-edf2e6:#222426;--ui-surface-edf2e7:#222426;--ui-surface-edf3e5:#222426;--ui-surface-edf5e6:#222426;--ui-surface-eef1e5:#222426;--ui-surface-eef1e7:#222426;--ui-surface-eef2e6:#222426;--ui-surface-eff4e6:#222426;--ui-surface-eff4e7:#222426;--ui-surface-f0f1ed:#222426;--ui-surface-f0f3e8:#222426;--ui-surface-f0f3e9:#222426;--ui-surface-f1f2ec:#222426;--ui-surface-f1f4eb:#222426;--ui-surface-f2e7d9:#2b2e31;--ui-surface-f2f4ed:#222426;--ui-surface-f3f6ed:#222426;--ui-surface-f4f6ee:#222426;--ui-surface-f4f6ef:#222426;--ui-surface-f4f7eb:#222426;--ui-surface-f4f7ed:#222426;--ui-surface-f5f7ef:#222426;--ui-surface-f6f5ed:#222426;--ui-surface-f6f7f2:#222426;--ui-surface-f6f7f3:#222426;--ui-surface-f6f8f0:#222426;--ui-surface-f6f8f2:#222426;--ui-surface-f7f9f2:#222426;--ui-surface-f8f9f4:#222426;--ui-surface-f8faef:#222426;--ui-surface-fafbf6:#222426;--ui-surface-fafbf7:#222426;--ui-surface-fafbf8:#222426;--ui-surface-fbece5:#222426;--ui-surface-fceee6:#222426;--ui-surface-fcf2dd:#222426;--ui-surface-fff:#222426;--ui-surface-fff0c9:#2b2e31;--ui-surface-fff3dc:#222426;--ui-surface-fff7e3:#222426;--ui-surface-fffe:#222426ee;--ui-surface-ffffff:#222426;--ui-surface-ffffffc9:#222426c9;--ui-surface-fffffff0:#222426f0}.theme-toggle{background:#f0f3eb;border:1px solid #dce3d6;border-radius:28px;flex:none;align-items:center;gap:3px;margin-left:auto;padding:4px;display:flex}.theme-toggle button{color:#63725c;border-radius:50%;place-items:center;width:40px;height:40px;padding:9px;display:grid}.theme-toggle svg{width:21px;height:21px}.theme-toggle button[aria-pressed=true]{color:#2e4235;background:#fff;box-shadow:0 1px 5px #1620121c}.theme-toggle button:hover{background:#dfe7d8}.theme-toggle button:focus-visible{outline-offset:2px;outline:2px solid #b78c50}:root[data-theme=dark],:root[data-theme=dark] body{color:#eeeef0;background:#17191b}:root[data-theme=dark] .workspace-header{background:#1e2022;border-color:#393c40}:root[data-theme=dark] .theme-toggle{background:#141618;border-color:#45494d}:root[data-theme=dark] .theme-toggle button{color:#b2b8be}:root[data-theme=dark] .theme-toggle button[aria-pressed=true]{color:#fff;background:#3a3e42}:root[data-theme=dark] .theme-toggle button:hover{background:#303439}:root[data-theme=dark] .primary,:root[data-theme=dark] .content .primary,:root[data-theme=dark] .photo-zoom-tools button,:root[data-theme=dark] .photo-screen-header button,:root[data-theme=dark] .photo-screen .photo-arrow{color:#181a1c;background:#e7e9eb;border-color:#e7e9eb}:root[data-theme=dark] .primary:hover:not(:disabled){color:#111;background:#fff}:root[data-theme=dark] .secondary,:root[data-theme=dark] .disk-pagination .secondary,:root[data-theme=dark] .actions button.secondary{color:#f0f1f2;background:#303438;border-color:#545a60}:root[data-theme=dark] input,:root[data-theme=dark] textarea,:root[data-theme=dark] select{color:#f0f1f2;accent-color:#b3c6b3;background:#191c1f;border-color:#474d52}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#929ba3;opacity:1}:root[data-theme=dark] .photo-screen,:root[data-theme=dark] .photo-screen-stage{background:#101214}:root[data-theme=dark] .badge.approved,:root[data-theme=dark] .parent-confirmed-label{color:#b1dfbc;background:#243e31}:root[data-theme=dark] .error{color:#f0ad9e}@media (width<=760px){.theme-toggle{gap:0;padding:3px}.theme-toggle button{width:36px;height:36px;padding:8px}.workspace-header .workspace-profile{margin-left:auto}.workspace-header:has(.workspace-profile) .theme-toggle{margin-left:0}.workspace-header{grid-template-columns:minmax(0,1fr) auto;gap:12px;display:grid}.workspace-header .brand{grid-area:1/1}:is(.workspace-header .theme-toggle,.workspace-header:has(.workspace-profile) .theme-toggle){grid-area:1/2;justify-self:end;margin-left:0}.workspace-header .workspace-location{grid-area:2/1;min-width:0}.workspace-header .workspace-profile{grid-area:2/2;justify-self:end;margin-left:0}.workspace-header:not(:has(.workspace-profile)) .workspace-location{grid-column:1/-1}.workspace-profile>b{display:none}}:root[data-theme=dark] .primary.accent-action,:root[data-theme=dark] .content .primary.accent-action{color:#fff;background:#376c45;border-color:#639773}:root[data-theme=dark] .primary.accent-action:hover:not(:disabled),:root[data-theme=dark] .content .primary.accent-action:hover:not(:disabled){color:#fff;background:#418052;border-color:#85b394}:root[data-theme=dark] button.primary.accent-action:disabled{color:#a7b9ac;opacity:1;cursor:not-allowed;background:#304d39;border-color:#496451}
