:root{font-family:"DM Sans",Arial,sans-serif;color:#182230;background:#f7f8fa;font-synthesis:none;text-rendering:optimizeLegibility;--blue:#2865e8;--line:#e8ebf0;--muted:#7d8797;--ink:#182230}
*{box-sizing:border-box}
body{margin:0;min-height:100vh}
button,input,select{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
.app-shell{min-height:100vh}
.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 6.2%;position:sticky;top:0;z-index:5}
.brand{display:inline-flex;align-items:center;gap:10px;color:#222c3a;font:800 19px Manrope,sans-serif;text-decoration:none;letter-spacing:-.7px}
.brand-mark{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:linear-gradient(145deg,#3579fc,#1454dd);color:#fff;font:800 17px Manrope,sans-serif;box-shadow:0 4px 9px #2c65e832}
.brand-group{display:flex;align-items:center;gap:17px}
.brand-separator{width:1px;height:29px;background:#e3e8ef}
.portal-brand{display:flex;align-items:center;gap:9px;color:#34445c;text-decoration:none}
.portal-mark{display:block;width:35px;height:35px;object-fit:cover;border:1px solid #24262e;border-radius:9px;background:#15161b;box-shadow:0 2px 6px #15161b1c}
.portal-brand-copy{display:grid;gap:2px}
.portal-brand-copy strong{font:700 12px Manrope,sans-serif;letter-spacing:-.1px}
.portal-brand-copy small{color:#899486;font-size:9px}
.topbar-center{display:flex;align-items:center;gap:8px;color:#758196;font-size:12px}
.cloud-check{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#eaf6ef;color:#239455;font-size:11px}
.user-area{display:flex;align-items:center;gap:13px;color:#667085;font-size:13px}
.user-avatar{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:#e8efff;color:#285cbd;font-weight:700}
.home-view{width:min(1030px,88%);margin:53px auto 70px}
.welcome{min-height:263px;background:linear-gradient(112deg,#edf3ff 0%,#f4f6ff 53%,#eef2ff 100%);border:1px solid #e5ebfa;border-radius:18px;padding:39px 48px;position:relative;overflow:hidden;display:flex;align-items:center}
.welcome-content{position:relative;z-index:1}
.portal-badge{display:inline-flex;align-items:center;gap:7px;margin:0 0 16px;padding:6px 9px;border:1px solid #d9e7dc;border-radius:999px;background:#f5faf6;color:#5d7564;text-decoration:none;font-size:9px;font-weight:700;letter-spacing:1px}
.portal-badge span{color:#287849;font:800 10px Manrope,sans-serif;letter-spacing:0}
.eyebrow{color:#6684bc;font-size:10px;letter-spacing:1.8px;font-weight:700;margin:0 0 16px}
h1,h2,p{margin-top:0}
.welcome h1{font:700 37px/1.15 Manrope,sans-serif;letter-spacing:-1.8px;margin:0 0 12px;color:#182d51}
.welcome h1 span{color:#3674ea}
.welcome-copy{color:#73809a;font-size:14px;margin:0}
.welcome-art{position:absolute;right:75px;top:28px;width:286px;height:205px;transform:rotate(-4deg)}
.welcome-art span{position:absolute;display:block;border-radius:12px;box-shadow:0 12px 25px #2955ab24}
.art-sheet{width:147px;height:179px;background:repeating-linear-gradient(#fff 0 25px,#e9eef5 26px 27px);right:65px;top:13px;transform:rotate(8deg);border:1px solid #e4e9f1}
.art-card{width:125px;height:155px;background:#fff;border:1px solid #e7ebf2;left:7px;top:33px;transform:rotate(-11deg)}
.art-card:after{content:"";position:absolute;left:17px;right:17px;top:33px;height:67px;background:linear-gradient(140deg,#d9e6ff 50%,#bdd1fc 50%)}
.art-small{width:94px;height:67px;background:#e8efff;right:0;bottom:3px;transform:rotate(-10deg);border:6px solid white}
.create-section,.recent-section{margin-top:38px}
.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}
.section-heading h2{font:700 18px Manrope,sans-serif;letter-spacing:-.4px;margin:0 0 5px}
.section-heading p{color:var(--muted);font-size:12px;margin:0}
.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.template-card{height:92px;display:grid;grid-template-columns:42px 1fr;grid-template-rows:1fr 1fr;align-content:center;align-items:end;text-align:left;column-gap:13px;padding:19px 18px;background:#fff;border:1px solid var(--line);border-radius:12px;color:#29364b;transition:transform .16s,border-color .16s,box-shadow .16s}
.template-card:hover{transform:translateY(-2px);border-color:#c7d7fa;box-shadow:0 8px 20px #183d7410}
.file-icon{grid-row:1/3;align-self:center;display:grid;place-items:center;width:39px;height:46px;border-radius:7px;background:#e8f0ff;color:#2762d7;font:700 18px Manrope,sans-serif}
.sheet-card .file-icon,.sheet-icon{background:#e6f5ee;color:#17804b}
.slides-card .file-icon,.slides-icon{background:#fff0e7;color:#dc6a2c}
.template-card strong{font-size:13px;font-weight:600}
.template-card>span:last-child{align-self:start;color:#8791a0;font-size:11px;margin-top:4px}
.document-list{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.document-row{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:11px 17px;border-bottom:1px solid #eff1f4}
.document-row:last-child{border-bottom:0}
.document-open{display:flex;align-items:center;gap:13px;min-width:0;text-align:left;background:none;border:0;color:inherit;padding:0;flex:1}
.document-open .file-icon{width:34px;height:40px;font-size:16px}
.document-info{display:grid;gap:5px}
.document-info strong{font-size:13px;font-weight:600}
.document-info small{color:#8a94a3;font-size:11px}
.document-controls{display:flex;gap:7px;align-items:center}
.download-link,.delete-document{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:7px;background:transparent;color:#718096;text-decoration:none;font-size:19px}
.download-link:hover,.delete-document:hover{background:#f1f4f8;color:#2865e8}
.delete-document{font-size:22px;letter-spacing:-2px}
.empty-state{display:grid;justify-items:center;gap:8px;text-align:center;padding:37px 15px;color:#8893a3}
.empty-state strong{color:#455267;font-size:13px}
.empty-state>span:last-child{font-size:12px}
.empty-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#eef3ff;color:#3d73da;font-size:20px;margin-bottom:3px}
.editor-view{min-height:calc(100vh - 68px);display:flex;flex-direction:column;background:#e8ebf0}
.editor-topline{height:57px;padding:0 23px;display:flex;align-items:center;gap:22px;background:#fff;border-bottom:1px solid var(--line)}
.back-button{border:0;background:transparent;color:#677386;font-size:13px;padding:8px 0}
.document-title{min-width:100px;max-width:420px;border:1px solid transparent;padding:7px 9px;border-radius:5px;color:#273449;font-weight:600;font-size:13px}
.document-title:hover,.document-title:focus{border-color:#d9e2f1;outline:none}
.editor-actions{margin-left:auto;display:flex;gap:9px}
.outline-button,.primary-button{height:34px;border-radius:6px;padding:0 13px;font-size:12px;font-weight:600}
.outline-button{border:1px solid #dfe4ec;background:#fff;color:#425066}
.primary-button{background:#2865e8;border:1px solid #2865e8;color:#fff}
.primary-button:hover{background:#1c56d1}
.toolbar{height:47px;display:flex;align-items:center;gap:5px;padding:0 23px;background:#fff;border-bottom:1px solid #e4e7ec}
.toolbar button{border:0;background:transparent;color:#485568;min-width:30px;height:29px;border-radius:4px;font-size:14px}
.toolbar button:hover{background:#eff3fa}
.toolbar select{border:1px solid transparent;background:white;color:#526075;height:29px;min-width:118px;font-size:12px}
.ribbon{background:#fff;border-bottom:1px solid #dfe4ec}
.ribbon-tabs{height:39px;display:flex;align-items:stretch;gap:3px;padding:0 22px;border-bottom:1px solid #edf0f4}
.ribbon-tab{position:relative;border:0;background:transparent;padding:0 13px;color:#687588;font-size:12px}
.ribbon-tab:hover{background:#f5f7fa;color:#26364d}
.ribbon-tab.active{color:#205bd0;font-weight:700}
.ribbon-tab.active:after{position:absolute;content:"";height:2px;left:11px;right:11px;bottom:-1px;background:#2865e8}
.ribbon-panel{min-height:82px;display:flex;align-items:stretch;gap:0;padding:6px 15px}
.ribbon-group{display:flex;min-width:max-content;flex-direction:column;justify-content:space-between;padding:2px 13px 3px;border-right:1px solid #e8ebf0}
.ribbon-group:last-child{border-right:0}
.ribbon-controls{display:flex;min-height:45px;align-items:center;flex-wrap:wrap;gap:4px}
.ribbon-controls button{position:relative;min-height:29px;border:1px solid transparent;border-radius:4px;background:transparent;padding:0 8px;color:#445168;font-size:11px;white-space:nowrap}
.ribbon-controls button:hover{background:#f1f4f9;border-color:#e8edf4}
.ribbon-color{position:relative;display:grid;place-items:center;width:30px;height:29px;border-radius:4px;color:#445168;font-size:12px;font-weight:700;cursor:pointer}
.ribbon-color:hover{background:#f1f4f9}
.ribbon-controls select{height:28px;max-width:145px;border:1px solid #e2e6ed;border-radius:4px;background:#fff;padding:0 6px;color:#4e5a6c;font-size:11px}
.ribbon-controls input[type=range]{width:75px;accent-color:#2865e8}
.ribbon-controls input[type=color]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.ribbon-group>small{color:#8b95a3;text-align:center;font-size:9px}
.ribbon-label{color:#7c8796;font-size:10px}
.ribbon-panel .formula-label{font-weight:700}
.sheet-toolbar{flex-wrap:wrap}
.sheet-chart{width:max-content;max-width:100%;margin:14px auto;padding:17px;border:1px solid #e0e5eb;border-radius:9px;background:#fff}
.sheet-chart>strong{font-size:12px;color:#445168}
.chart-bars{display:flex;align-items:end;gap:12px;min-height:190px;padding:18px 8px 0}
.chart-item{display:flex;min-width:36px;max-width:90px;flex-direction:column;align-items:center;justify-content:end;gap:6px}
.chart-item>span{width:26px;max-height:150px;border-radius:4px 4px 0 0;background:linear-gradient(#6394f4,#2865e8)}
.chart-item small{max-width:84px;overflow:hidden;text-overflow:ellipsis;color:#6c7788;font-size:9px;white-space:nowrap}
.freeze-first .grid-table tr:nth-child(2)>*{position:sticky;top:0;z-index:1}
.freeze-first .grid-table tr:nth-child(2)>th{z-index:2}
.toolbar-divider{width:1px;height:21px;background:#e4e7ec;margin:0 8px}
.toolbar-hint{margin-left:10px;color:#8a94a3;font-size:11px}
.formula-label{min-width:50px;text-align:center;color:#586579;font-size:12px}
.formula-fx{font:italic 700 14px Georgia;color:#64748b}
.sheet-toolbar input{flex:1;max-width:700px;border:0;outline:0;font:12px "DM Sans",sans-serif;color:#354258}
.workspace{flex:1;min-height:0;overflow:auto}
.word-workspace{min-height:calc(100vh - 172px);padding:35px 15px 60px;overflow:auto}
.word-page{width:min(816px,96%);min-height:1056px;margin:0 auto;background:#fff;padding:95px 104px;box-shadow:0 2px 9px #2f3a4c14;outline:0;color:#222;font:16px/1.65 Arial,sans-serif}
.word-page h1{font-size:30px}.word-page h2{font-size:24px}
.word-page table{border-collapse:collapse;margin:12px 0;width:100%}
.word-page td,.word-page th{min-width:55px;border:1px solid #b8c0cc;padding:6px}
.word-page:empty:before{content:"Start writing...";color:#acb3bd}
.sheet-workspace{padding:27px 30px 60px;overflow:auto}
.spreadsheet{width:max-content;background:#fff;border:1px solid #e0e5eb}
.grid-table{border-collapse:collapse;table-layout:fixed}
.grid-table th{width:112px;height:26px;background:#f6f8fa;border:1px solid #e5e9ed;color:#647084;font:11px Arial,sans-serif;text-align:center}
.grid-table th:first-child{width:43px}
.grid-table .corner{background:#edf0f4}
.grid-table td{width:112px;height:27px;border:1px solid #e6e9ed;padding:0}
.grid-table td input{display:block;width:100%;height:100%;border:0;background:transparent;padding:4px 7px;font:12px Arial,sans-serif;color:#344054;outline:0}
.grid-table td.selected-cell{outline:2px solid #2472e8;outline-offset:-2px}
.grid-table td.selected-cell input{outline:0}
.slides-workspace{min-height:calc(100vh - 172px);display:grid;grid-template-columns:190px 1fr}
.slide-rail{background:#f3f4f6;padding:16px 13px;border-right:1px solid #dfe3e9}
.slide-thumb{width:100%;min-height:94px;margin-bottom:12px;padding:12px;text-align:left;border:1px solid #d9dee7;border-radius:5px;background:white;color:#4c586b;overflow:hidden}
.slide-thumb.active{outline:2px solid #3573e7;border-color:transparent}
.slide-thumb strong,.slide-thumb span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.slide-thumb strong{font-size:10px;margin-bottom:8px}
.slide-thumb span{font-size:9px;color:#8a94a3}
.slide-stage{display:flex;align-items:center;justify-content:center;gap:18px;position:relative;padding:40px 24px}
.slide-stage>button{width:31px;height:31px;border:1px solid #d8dde6;border-radius:50%;background:#fff;color:#677386;font-size:22px}
.slide-canvas{width:min(820px,85%);aspect-ratio:16/9;background:#fff;box-shadow:0 4px 18px #182a431c;padding:9% 10%;display:flex;flex-direction:column;justify-content:center;color:#273449}
.slide-canvas h1{font:700 clamp(23px,3.4vw,43px)/1.2 Manrope,sans-serif;letter-spacing:-1px;color:var(--slide-accent,#1859cf);outline:0;margin:0 0 22px}
.slide-canvas div{font:17px/1.6 "DM Sans",sans-serif;color:#566277;outline:0;min-height:30px;white-space:pre-wrap}
.slide-canvas.theme-dark{background:#202637;color:#f4f6fb}
.slide-canvas.theme-dark div{color:#d1d8e5}
.slide-canvas.title-only div{display:none}
.slide-canvas[data-transition=fade]{animation:slide-fade .32s ease}
.slide-canvas[data-transition=slide]{animation:slide-in .32s ease}
@keyframes slide-fade{from{opacity:.35}to{opacity:1}}
@keyframes slide-in{from{transform:translateX(32px);opacity:.5}to{transform:translateX(0);opacity:1}}
.editor-view.presenting{position:fixed;inset:0;z-index:30;min-height:100vh;background:#111827}
.editor-view.presenting .editor-topline,.editor-view.presenting>.ribbon,.editor-view.presenting .slide-rail,.editor-view.presenting .slide-counter{display:none}
.editor-view.presenting .workspace,.editor-view.presenting .slides-workspace,.editor-view.presenting .slide-stage{height:100%;min-height:100vh;background:#111827}
.editor-view.presenting .slide-canvas{width:min(92vw,1440px);max-height:88vh}
.slide-counter{position:absolute;bottom:12px;color:#7c8796;font-size:11px}
.auth-backdrop{position:fixed;inset:0;z-index:10;background:linear-gradient(130deg,#edf3ff,#f7f8fa 60%);display:grid;place-items:center;padding:22px}
.auth-card{width:min(420px,100%);background:#fff;border:1px solid #e6eaf0;border-radius:16px;padding:34px 38px;box-shadow:0 15px 48px #27426a14}
.auth-brand{margin-bottom:37px}
.auth-card .eyebrow{margin-bottom:10px}
.auth-card h1{font:700 28px Manrope,sans-serif;letter-spacing:-1px;margin:0 0 7px}
.auth-description{font-size:13px;line-height:1.55;color:#7b8594;margin-bottom:25px}
.auth-submit{width:100%;margin-top:17px;height:41px}
.portal-link{display:grid;place-items:center;text-decoration:none}
.auth-note{text-align:center;border-top:1px solid #eff1f4;margin:25px 0 0;padding-top:17px;color:#9aa3af;font-size:10px}
.toast{position:fixed;z-index:20;left:50%;bottom:24px;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#202c3e;color:#fff;border-radius:8px;padding:11px 17px;font-size:12px;box-shadow:0 8px 24px #14233b35;transition:.2s}
.toast.visible{opacity:1;transform:translate(-50%,0)}
@media print{.topbar,.editor-topline,.ribbon,.slide-rail,.slide-counter,.slide-stage>button{display:none!important}.editor-view,.workspace,.word-workspace{position:static!important;min-height:0!important;background:#fff!important;padding:0!important}.word-page{width:100%!important;min-height:0!important;padding:0!important;box-shadow:none!important}.slide-canvas{box-shadow:none!important}}
@media(max-width:700px){.ribbon-tabs{padding:0 7px;overflow-x:auto}.ribbon-tab{padding:0 10px;white-space:nowrap}.ribbon-panel{overflow-x:auto;padding:6px 5px}.ribbon-group{padding-right:8px;padding-left:8px}.ribbon-controls{flex-wrap:nowrap}}
@media(max-width:700px){.topbar{padding:0 5%;height:58px}.brand-group{gap:10px}.brand{gap:7px;font-size:17px}.brand-mark{width:29px;height:29px}.brand-separator{height:25px}.portal-brand{gap:6px}.portal-mark{width:30px;height:30px;border-radius:8px}.portal-brand-copy strong{font-size:10px}.portal-brand-copy small{font-size:8px}.topbar-center{display:none}.user-area{gap:7px;font-size:11px}.home-view{width:90%;margin:27px auto 45px}.welcome{min-height:229px;padding:29px 25px}.welcome h1{font-size:31px}.welcome-art{right:-92px;opacity:.5}.template-grid{grid-template-columns:1fr;gap:9px}.template-card{height:75px;padding:14px 16px}.create-section,.recent-section{margin-top:29px}.editor-topline{gap:10px;padding:0 12px}.back-button span{display:none}.document-title{max-width:40vw}.editor-actions{gap:5px}.outline-button,.primary-button{padding:0 9px}.toolbar{padding:0 11px;overflow-x:auto;flex-shrink:0}.word-workspace{padding:15px 0 35px}.word-page{width:96%;min-height:80vh;padding:48px 28px}.sheet-workspace{padding:16px 9px}.slides-workspace{grid-template-columns:90px 1fr}.slide-rail{padding:11px 7px}.slide-stage{gap:6px;padding:20px 6px}.slide-canvas{width:88%;padding:8%}.slide-canvas h1{font-size:clamp(18px,5vw,28px)}.slide-canvas div{font-size:13px}.auth-card{padding:29px 25px}}
