:root{--ink:#172d38;--ink-deep:#10212b;--muted:#687a7e;--muted-light:#8fa0a2;--cream:#f7f6f0;--paper:#fff;--teal:#0e8e83;--teal-soft:#dcf0ec;--gold:#dfab4b;--gold-soft:#f7ecd5;--line:#dfe5e1;--red:#b1573c}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:DM Sans,Arial,sans-serif;color:var(--ink);background:var(--cream)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}.login-view{min-height:100vh;background:var(--cream);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:40px}.login-decoration{position:absolute;border:1px solid rgba(14,142,131,.15);border-radius:50%;pointer-events:none}.decoration-one{width:580px;height:580px;right:-180px;top:-190px}.decoration-two{width:430px;height:430px;left:-180px;bottom:-195px;border-color:#dfab4b33}.login-card{width:min(100%,475px);background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:42px 44px;position:relative;z-index:1;box-shadow:0 24px 65px #1437391c}.login-brand,.app-brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);font-family:Manrope;font-size:1.35rem;letter-spacing:-.06em;font-weight:800}.login-brand>span:last-child span,.app-brand strong span{color:var(--gold)}.login-mark,.app-brand-mark{width:31px;height:31px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-family:DM Sans;font-size:1rem;letter-spacing:0}.login-kicker{color:var(--teal);letter-spacing:.15em;font-weight:700;font-size:.59rem;margin-top:48px}.login-card h1{font-family:Manrope;font-size:clamp(2.35rem,5vw,3.5rem);letter-spacing:-.06em;line-height:1.05;margin:16px 0 18px}.login-card h1 em{font-style:normal;color:var(--teal)}.login-intro{color:var(--muted);font-size:.8rem;line-height:1.75}.login-form{margin-top:30px}.login-form label{display:block;color:var(--ink);font-size:.66rem;font-weight:700;margin:16px 0 7px}.login-form input{width:100%;border:1px solid #dce6e2;border-radius:5px;background:#fff;padding:13px 14px;outline:0;color:var(--ink);font-size:.75rem}.login-form input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0e8e831a}.password-input{position:relative}.password-input input{padding-right:45px}.password-input button{position:absolute;right:8px;top:7px;border:0;background:none;color:var(--teal);font-size:.8rem;padding:7px}.login-error{font-size:.7rem;color:var(--red);min-height:19px;margin:10px 0 0}.login-submit{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;border-radius:5px;background:var(--teal);color:#fff;padding:14px 16px;font-size:.75rem;font-weight:700;margin-top:4px}.login-submit:hover{background:#09776f}.login-submit span{font-size:1rem}.login-footnote{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:17px;margin-top:25px;color:var(--muted-light);font-size:.58rem}.lock-icon{color:var(--teal);font-size:1rem}.login-side-note{position:absolute;right:clamp(30px,8vw,120px);bottom:50px;display:flex;align-items:center;gap:11px;color:var(--muted);z-index:1}.login-side-note>span{font-family:Manrope;color:var(--gold);font-size:1.7rem}.login-side-note strong,.login-side-note small{display:block}.login-side-note strong{font-family:Manrope;font-size:.7rem}.login-side-note small{font-size:.6rem;margin-top:2px}.app-view{min-height:100vh;background:var(--cream)}.app-header{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 30px;position:relative;z-index:4}.app-brand{font-size:1.05rem}.app-brand-mark{width:27px;height:27px;font-size:.85rem}.app-brand small{font-family:DM Sans;font-size:.58rem;font-weight:500;letter-spacing:0;color:var(--muted);border-left:1px solid var(--line);padding-left:13px;margin-left:5px}.app-header-center{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.6rem}.online-dot{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px var(--teal-soft)}.read-only-badge{color:var(--teal);background:var(--teal-soft);border-radius:3px;padding:5px 7px;font-size:.52rem;letter-spacing:.08em;margin-left:9px}.app-user{display:flex;align-items:center;gap:17px}.app-user strong,.app-user small{display:block;text-align:right}.app-user strong{font-size:.68rem}.app-user small{font-size:.57rem;color:var(--muted);margin-top:2px}.app-user button{border:0;border-left:1px solid var(--line);background:none;color:var(--muted);font-size:.62rem;padding:7px 0 7px 17px}.app-user button:hover{color:var(--teal)}.app-shell{display:grid;grid-template-columns:305px 1fr;min-height:calc(100vh - 72px)}.app-sidebar{background:var(--ink-deep);color:#fff;padding:28px 17px 21px;display:flex;flex-direction:column}.sidebar-title{display:flex;align-items:flex-end;justify-content:space-between;padding:0 10px 15px}.sidebar-title span{font-size:.57rem;color:#8faeaa;letter-spacing:.12em}.sidebar-title strong{font-family:Manrope;font-size:.6rem;color:#e8c675}.search-box{display:flex;align-items:center;gap:9px;background:#193640;border:1px solid #315058;border-radius:5px;padding:9px 11px;margin-bottom:17px;color:#8faeaa}.search-box span{font-size:1rem}.search-box input{background:none;border:0;outline:0;color:#fff;width:100%;font-size:.67rem}.search-box input::placeholder{color:#789593}.folder-nav{overflow:auto;padding-right:2px}.folder-group{margin:2px 0}.folder-button,.child-button{width:100%;border:0;background:none;color:#b7cbc8;text-align:left}.folder-button{display:grid;grid-template-columns:28px 1fr 16px;gap:9px;align-items:start;padding:10px;border-radius:5px}.folder-button:hover,.folder-button.active{background:#20434c;color:#fff}.folder-number,.child-button span{font-family:Manrope;font-size:.57rem;color:#74c7be;padding-top:1px}.folder-button strong,.folder-button small{display:block}.folder-button strong{font-size:.69rem;line-height:1.3}.folder-button small{font-size:.57rem;color:#7f9b98;line-height:1.3;margin-top:2px}.folder-button.active small{color:#a9c8c3}.folder-chevron{font-size:.9rem;color:#6f928e;transition:transform .2s}.folder-button.active .folder-chevron{color:#9cd9d1;transform:rotate(180deg)}.folder-children{display:none;margin-left:38px;border-left:1px solid #315058;padding:3px 0}.folder-children.expanded{display:block}.child-button{display:flex;gap:8px;align-items:flex-start;padding:7px 10px;font-size:.62rem;border-radius:4px}.child-button span{font-size:.51rem;min-width:24px}.child-button:hover,.child-button.active{background:#193640;color:#fff}.sidebar-foot{display:flex;gap:9px;border-top:1px solid #2a4950;padding:18px 10px 0;margin-top:auto;color:#94aaa6}.sidebar-foot strong,.sidebar-foot small{display:block}.sidebar-foot strong{font-size:.62rem;color:#d7e4e1}.sidebar-foot small{font-size:.55rem;line-height:1.45;margin-top:3px}.app-main{padding:38px clamp(28px,5vw,76px) 65px;max-width:1400px;width:100%;overflow:hidden}.content-top{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.breadcrumb{display:flex;align-items:center;gap:8px;color:var(--muted-light);font-size:.61rem}.breadcrumb i{font-style:normal;color:#c0cbc7}.breadcrumb strong{color:var(--teal);font-weight:700}.content-kicker{color:var(--teal);font-size:.59rem;font-weight:700;letter-spacing:.14em;margin-top:28px}.content-top h1{font-family:Manrope;font-size:clamp(2.1rem,4vw,3.6rem);letter-spacing:-.06em;line-height:1.05;margin:9px 0 8px}.content-top>div:first-child>p{font-size:.8rem;color:var(--muted)}.content-actions{display:flex;align-items:center;gap:10px;align-self:flex-start;margin-top:27px}.folder-reference{font-family:Manrope;font-size:.62rem;color:var(--teal);background:var(--teal-soft);padding:7px 9px;border-radius:4px}.folder-status{font-size:.58rem;background:var(--gold-soft);color:#a87520;padding:7px 9px;border-radius:4px}.progress-strip{display:flex;align-items:center;gap:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin-top:32px;color:var(--muted);font-size:.6rem}.progress-strip>div:first-child{display:flex;gap:10px;min-width:205px}.progress-strip strong{color:var(--teal)}.progress-track{height:4px;background:#e0e8e3;border-radius:5px;flex:1;overflow:hidden}.progress-track i{display:block;width:0;height:100%;background:var(--teal);transition:width .3s}.progress-strip>span:last-child{font-family:Manrope;color:var(--teal);min-width:28px}.folder-content{margin-top:31px}.folder-hero{display:flex;align-items:flex-start;gap:17px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:25px 27px;position:relative}.folder-icon{width:45px;height:45px;display:flex;align-items:center;justify-content:center;background:var(--teal-soft);color:var(--teal);font-family:Manrope;font-size:1.15rem;border-radius:9px;flex:none}.folder-eyebrow{display:block;color:var(--teal);font-size:.56rem;font-weight:700;letter-spacing:.12em}.folder-hero h2{font-family:Manrope;font-size:1.32rem;letter-spacing:-.04em;margin:7px 0 6px}.folder-hero p{font-size:.75rem;color:var(--muted);line-height:1.6}.folder-read-only{position:absolute;right:20px;top:20px;color:var(--muted-light);font-size:.52rem;letter-spacing:.1em;border:1px solid var(--line);padding:5px 7px;border-radius:3px}.subfolder-callout{display:flex;align-items:flex-start;gap:12px;border-left:3px solid var(--gold);background:var(--gold-soft);padding:16px 18px;margin-top:14px}.subfolder-callout>span{color:#b17c20;font-family:Manrope;font-size:1rem}.subfolder-callout strong{display:block;font-family:Manrope;font-size:.72rem}.subfolder-callout p{font-size:.66rem;color:#796c58;margin-top:3px}.detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:15px;margin-top:15px}.detail-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:23px;min-height:245px}.detail-card-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:13px}.detail-card-head span{font-size:.58rem;letter-spacing:.12em;color:var(--muted-light);font-weight:700}.detail-card-head b{font-family:Manrope;font-size:.65rem;color:var(--teal)}.document-list{list-style:none;margin:8px 0 0;padding:0}.document-list li{display:flex;align-items:flex-start;gap:9px;border-bottom:1px solid #edf1ee;padding:11px 0;color:#536a6b;font-size:.68rem}.document-list li:last-child{border-bottom:0}.document-check{width:17px;height:17px;display:flex;align-items:center;justify-content:center;background:var(--teal-soft);color:var(--teal);border-radius:50%;font-size:.58rem;flex:none}.reference-card{background:var(--ink);color:#fff}.reference-card .detail-card-head{border-color:#315058}.reference-card .detail-card-head span{color:#9bb5b1}.reference-example{padding-top:25px}.reference-example span,.reference-example strong,.reference-example small{display:block}.reference-example span{color:#8cd0c7;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase}.reference-example strong{font-family:Manrope;font-size:.9rem;color:#e8c675;margin-top:15px}.reference-example small{font-size:.61rem;color:#aac1be;margin-top:3px}.read-only-note{display:flex;align-items:center;gap:11px;background:#eef8f6;border-left:3px solid var(--teal);padding:15px 18px;margin-top:15px}.read-only-note>span{color:var(--teal);font-size:1.05rem}.read-only-note strong{display:block;font-size:.7rem}.read-only-note p{font-size:.62rem;color:var(--muted);line-height:1.5;margin-top:3px}.folder-files{background:#fff;border:1px solid var(--line);border-radius:11px;padding:23px;margin-top:15px}.folder-files-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:17px;border-bottom:1px solid var(--line)}.folder-section-label{display:block;color:var(--teal);font-size:.56rem;font-weight:700;letter-spacing:.12em}.folder-files-head h3{font-family:Manrope;font-size:1.08rem;letter-spacing:-.03em;margin:6px 0 4px}.folder-files-head p{color:var(--muted);font-size:.68rem}.file-add-button{border:0;border-radius:5px;background:var(--teal);color:#fff;font-size:.68rem;font-weight:700;padding:11px 14px;white-space:nowrap}.file-add-button:hover{background:#09776f}.upload-status{color:var(--teal);font-size:.65rem;min-height:18px;padding-top:11px}.upload-status.is-error{color:var(--red)}.file-empty{display:flex;align-items:center;gap:12px;border:1px dashed #cbdad5;background:#f8fbfa;padding:19px;margin-top:10px;color:var(--muted)}.file-empty>span{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--teal-soft);color:var(--teal);font-size:1.3rem}.file-empty strong,.file-empty small{display:block}.file-empty strong{font-size:.69rem;color:var(--ink)}.file-empty small{font-size:.61rem;margin-top:3px;line-height:1.5}.file-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.file-row{display:flex;align-items:center;gap:12px;border:1px solid #e3ebe7;border-radius:7px;padding:12px 13px}.file-type{display:flex;align-items:center;justify-content:center;width:37px;height:37px;border-radius:6px;background:var(--teal-soft);color:var(--teal);font-family:Manrope;font-size:.52rem;font-weight:800;flex:none}.file-main{min-width:0;flex:1}.file-main strong,.file-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-main strong{font-size:.7rem;color:var(--ink)}.file-main small{font-size:.59rem;color:var(--muted);margin-top:4px}.file-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.file-actions a,.file-actions button{border:1px solid #d8e5e0;border-radius:4px;background:#fff;color:var(--teal);font-size:.57rem;padding:6px 8px;text-decoration:none}.file-actions a:hover,.file-actions button:hover{border-color:var(--teal);background:var(--teal-soft)}.file-actions .file-danger{color:var(--red);border-color:#ecd9d2}.file-actions .file-danger:hover{background:#fff2ee;border-color:var(--red)}.google-login-text{color:var(--muted);font-size:.77rem;line-height:1.65;margin-bottom:14px}.google-login-button{text-decoration:none}.development-mode .online-dot{background:var(--gold);box-shadow:0 0 0 4px var(--gold-soft)}.development-mode .read-only-badge{color:#9d7024;background:var(--gold-soft)}@media(max-width:900px){.app-shell{grid-template-columns:250px 1fr}.app-header{padding:0 18px}.app-header-center{display:none}.app-main{padding:30px 28px 55px}}@media(max-width:680px){.login-view{padding:22px}.login-card{padding:30px 24px}.login-kicker{margin-top:34px}.login-side-note{display:none}.app-header{height:auto;min-height:67px;padding:12px 15px}.app-brand small{display:none}.app-user{gap:8px}.app-user>div{display:none}.app-user button{border-left:0;padding-left:0;font-size:.58rem}.app-shell{display:block}.app-sidebar{padding:16px 13px 14px;max-height:310px}.sidebar-foot{display:none}.folder-nav{max-height:164px}.app-main{padding:25px 17px 45px}.content-top{display:block}.content-actions{margin-top:17px}.progress-strip{flex-wrap:wrap}.progress-strip>div:first-child{min-width:0;justify-content:space-between;width:100%}.progress-track{order:3;flex-basis:100%}.folder-read-only{position:static;display:block;margin-left:auto}.folder-hero{padding:20px}.folder-hero h2{font-size:1.1rem}.detail-grid{grid-template-columns:1fr}.detail-card{min-height:0}.folder-children{max-height:none}.subfolder-callout{margin-top:10px}.folder-files{padding:17px}.folder-files-head{display:block}.folder-files-head>div+div{margin-top:14px}.file-add-button{width:100%}.file-row{align-items:flex-start;flex-wrap:wrap}.file-main{max-width:calc(100% - 50px)}.file-actions{width:100%;justify-content:flex-start;padding-left:49px}.file-actions a,.file-actions button{font-size:.55rem}}@media(max-width:680px){html,body{overflow-x:hidden}.login-view{min-height:100svh;padding:16px}.login-card{width:100%;max-width:475px;padding:27px 20px}.login-card h1{font-size:clamp(2.2rem,11vw,3rem);overflow-wrap:anywhere}.login-intro,.google-login-text{font-size:.82rem}.app-header{position:sticky;top:0;z-index:10}.app-user button,.file-add-button,.file-actions a,.file-actions button{min-height:42px}.app-main{min-width:0;overflow:hidden}.content-top h1{font-size:clamp(2rem,10vw,3rem);overflow-wrap:anywhere}.folder-hero p,.subfolder-callout p,.detail-card,.file-main{overflow-wrap:anywhere}.file-main{min-width:0}.file-actions{padding-left:0}.progress-track{min-width:0}input,select,textarea{font-size:16px}}html,body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,select,[contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}img{-webkit-user-drag:none;user-drag:none}.google-login-panel[hidden],.course-access-panel[hidden]{display:none!important}.google-login-button{font-family:DM Sans,Arial,sans-serif;text-align:left;text-decoration:none}.google-login-button[hidden]{display:none!important}#participant-auth-status{color:var(--muted);line-height:1.6}#participant-auth-status.is-error{color:var(--red)}.course-access-panel{margin-top:27px;padding:19px;border:1px solid #e8dfc9;border-radius:8px;background:#fffdf7}.access-status-kicker{color:#a87520;font-size:.55rem;font-weight:700;letter-spacing:.14em}.course-access-panel h2{margin:8px 0;font:800 1.15rem/1.2 Manrope,Arial,sans-serif;letter-spacing:-.04em}.course-access-panel>p:not(.course-account-note){color:var(--muted);font-size:.68rem;line-height:1.65}#request-course-access{margin-top:15px}#request-course-access:disabled{background:#849391;cursor:wait}.course-payment-whatsapp{display:block;margin-top:12px;color:var(--teal);font-size:.65rem;font-weight:700;line-height:1.5;text-decoration:underline;text-underline-offset:3px}.course-account-note{margin-top:13px;padding-top:11px;border-top:1px solid var(--line);color:var(--muted);font-size:.59rem;overflow-wrap:anywhere}.course-account-note strong{color:var(--ink)}.access-logout{margin-top:10px;padding:4px 0;border:0;background:transparent;color:var(--muted);font-size:.62rem;text-decoration:underline;text-underline-offset:3px}.admin-header-link{padding:7px 9px;border:1px solid #d5e8e2;border-radius:4px;color:var(--teal);font-size:.6rem;font-weight:700}.admin-header-link:hover{background:var(--teal-soft)}.drive-banner{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:0 0 14px;padding:12px 14px;border:1px solid #cfe3dd;border-radius:6px;background:var(--teal-soft)}.drive-banner[hidden]{display:none}.drive-banner-text{display:grid;gap:3px;min-width:240px}.drive-banner-text strong{color:var(--ink);font-size:.72rem}.drive-banner-text span{color:var(--muted);font-size:.64rem;line-height:1.45}.drive-banner button{padding:8px 12px;border:0;border-radius:4px;background:var(--teal);color:#fff;font-size:.64rem;font-weight:700;cursor:pointer}.drive-banner button:hover{filter:brightness(1.06)}
