@font-face{font-family:Studio;src:url(fonts/DejaVuSans.ttf)}@font-face{font-family:Studio;src:url(fonts/DejaVuSans-Bold.ttf);font-weight:700}*{box-sizing:border-box}body{margin:0;background:#f3f5f5;color:#183342;font:14px Studio,Arial,sans-serif}button,input,select,textarea{font:inherit}button,.button{border:0;border-radius:8px;background:#147968;color:white;padding:12px 18px;cursor:pointer;font-weight:700;text-decoration:none;display:inline-block}button:hover{filter:brightness(.95)}button:disabled{opacity:.5;cursor:wait}button.secondary{background:#e8eeee;color:#183342}.ghost{background:transparent;color:inherit;padding:8px}.danger{background:#a33636}input,select,textarea{padding:11px 12px;border:1px solid #d4dddd;border-radius:7px;background:#fff;color:#183342;width:100%}input[type=color]{padding:3px;height:38px}input[type=checkbox]{width:auto}textarea{min-height:75px;resize:vertical}label{display:block;font-size:12px;font-weight:700;margin:12px 0 7px}label input,label select,label textarea{display:block;margin-top:7px}small{color:#71848b;font-size:11px;line-height:1.8}.eyebrow{letter-spacing:2px;font-size:10px;font-weight:bold;color:#147968}h1,h2,h3,p{margin-top:0}h1{font-size:29px;letter-spacing:-1px}h2{font-size:23px}p{line-height:1.7;color:#657880}button:focus-visible,a:focus-visible{outline:3px solid #e8b85c;outline-offset:3px}[hidden]{display:none!important}.login-body{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:#fff}.login-art{background:#102a39;color:#fff;padding:50px 65px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;position:relative;overflow:hidden}.brandmark{font-size:26px}.brandmark b{font-size:11px;letter-spacing:3px}.login-art h1{font-size:52px;font-weight:700;line-height:1.15;margin:22px 0}.login-art .eyebrow{color:#9bd5bd}.login-art p{color:#b3c6cb}.art-calendar{border:1px solid #49626c;transform:rotate(-8deg);margin:40px auto;width:250px;padding:24px;background:#193a47;box-shadow:15px 15px 0 #ffffff0b}.art-calendar strong{font-size:55px;color:#e6bb6e}.art-calendar div{line-height:2.5;letter-spacing:1px;font-size:13px}.login-card{width:min(440px,90%);margin:auto;padding:40px 20px}.login-card h2{font-size:32px;line-height:1.3;margin-top:20px}.login-card button{width:100%;margin:20px 0}.error{color:#ab3535;font-size:12px}.sidebar{position:fixed;width:230px;inset:0 auto 0 0;background:#102a39;color:#d5e3e6;display:flex;flex-direction:column;padding:30px 20px}.brand{display:flex;gap:12px;color:#fff;text-decoration:none;align-items:center;font-size:22px;margin-bottom:40px}.brand span{font-size:17px}.brand b{display:block;font-size:8px;letter-spacing:2px;margin-top:6px;color:#9cc2bd}nav button{width:100%;text-align:left;color:#aec3cb;background:transparent;margin:4px 0;font-size:12px}nav button.active{background:#21444e;color:#fff}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:7px}.sidebar-bottom strong{font-size:12px}.sidebar-bottom small{color:#91a9b3}.main{margin-left:230px;padding:30px 40px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.topbar h1{margin:6px 0 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat,.card{background:#fff;border:1px solid #e1e7e7;border-radius:12px;padding:22px}.stat b{font-size:28px;display:block;margin:9px 0}.stat small{text-transform:uppercase;font-size:9px;letter-spacing:1px}.toolbar{display:flex;gap:12px;margin-bottom:22px;align-items:center}.toolbar input{max-width:350px}.toolbar select{width:180px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:18px}.card h3{margin:14px 0 5px;font-size:16px}.card p{font-size:12px;margin-bottom:15px}.card-actions{display:flex;gap:6px;flex-wrap:wrap}.card-actions button{padding:8px 10px;font-size:11px}.template-preview{height:150px;background:#f0eee7;display:flex;align-items:center;justify-content:center;border-radius:7px;overflow:hidden}.template-preview canvas{height:135px;width:auto;box-shadow:0 3px 15px #0002}.badge{font-size:9px;padding:5px 8px;border-radius:15px;background:#e8f2ed;color:#147968;display:inline-block}.badge.revision{background:#fff2cf;color:#946a0d}.empty{padding:60px;text-align:center;background:white;border:1px dashed #cbd5d5;border-radius:12px}.table-wrap{overflow-x:auto;background:#fff;border:1px solid #e0e7e7;border-radius:12px}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th,td{padding:14px 16px;border-bottom:1px solid #edf0f0}th{font-size:10px;color:#6b8188;background:#fafbfb}td button{font-size:10px;padding:7px}dialog{border:0;border-radius:14px;padding:25px;width:min(650px,94vw);max-height:90vh;box-shadow:0 20px 100px #0004}dialog::backdrop{background:#102a3988}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.modal-head h2{margin:0;font-size:20px}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.row.three{grid-template-columns:repeat(3,1fr)}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}#toast{position:fixed;bottom:24px;right:24px;background:#102a39;color:#fff;padding:16px 22px;border-radius:9px;max-width:460px;z-index:100}.editor-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:15px}.editor-bar input{width:210px}.editor-bar button{padding:10px;font-size:11px}.editor{display:grid;grid-template-columns:235px minmax(300px,1fr) 240px;gap:15px;align-items:start}.panel{background:white;border:1px solid #e0e6e6;border-radius:10px;padding:15px;max-height:76vh;overflow:auto}.panel h3{font-size:12px;margin:15px 0 9px}.panel label{font-size:10px}.panel input,.panel select{padding:7px;font-size:11px}.panel button{font-size:10px;padding:8px}.workspace{background:#dce3e3;border-radius:10px;min-height:65vh;max-height:78vh;overflow:auto;padding:24px;display:flex;align-items:flex-start;justify-content:center}.workspace canvas{width:auto;height:auto;max-width:100%;max-height:calc(76vh - 48px);box-shadow:0 10px 25px #18334225;touch-action:none}.layer{padding:9px;border:1px solid #e1e7e7;border-radius:5px;margin:5px 0;font-size:10px;cursor:pointer;display:flex;justify-content:space-between}.layer.selected{background:#e3f2ed;border-color:#147968}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}.asset-grid img{width:100%;height:110px;object-fit:contain;background:#edf1f1}.font-sample{font-size:25px;padding:15px 0}.notice{background:#edf4f2;padding:15px;border-radius:8px;font-size:12px;color:#46655d;line-height:1.7;margin-bottom:20px}.warn{background:#fff3d6;color:#805f1f}progress{width:100%;height:18px}.settings-card{max-width:850px;margin-bottom:22px}.checkrow{display:flex;gap:8px;align-items:center}.checkrow label{margin:0}.checkrow input{width:auto}#pdf-status{font-size:11px;color:#147968}.font-choice{font-size:14px!important}.page-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px;font-size:11px}.login-body>main:only-child{grid-column:1/-1}a{color:#147968}.divider{border:0;border-top:1px solid #e2e8e8;margin:18px 0}.print-note{font-size:10px;line-height:1.7;color:#6b8188}@media(max-width:1200px){.main{padding:25px 20px}.editor{grid-template-columns:190px 1fr}.editor>.panel:last-child{grid-column:1/-1;max-height:none}.stats{gap:8px}.stat{padding:15px}}@media(max-width:760px){.login-body{display:block}.login-art{display:none}.login-card{padding-top:70px}.sidebar{position:static;width:100%;padding:15px}.brand{margin:0 0 10px}.sidebar nav{display:flex;overflow:auto}.sidebar nav button{white-space:nowrap;width:auto}.sidebar-bottom{display:none}.main{margin:0;padding:20px 12px}.topbar{gap:10px}.topbar h1{font-size:23px}.stats{grid-template-columns:1fr 1fr}.editor{grid-template-columns:1fr}.editor>.panel{max-height:350px}.workspace{min-height:300px;max-height:none;padding:10px}.row.three{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.grid{grid-template-columns:1fr 1fr}.card{padding:12px}}@media(max-width:480px){.grid,.row{grid-template-columns:1fr}.editor-bar input{width:100%}}

.workspace.zoom canvas{width:100%;max-height:none;max-width:none}
