@font-face{font-family:Calendar-recoleta-bold;src:url('../fonts/recoleta-bold.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Calendar-anton;src:url('../fonts/anton.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Calendar-sans;src:url('../fonts/sans.ttf') format('truetype');font-display:swap}@font-face{font-family:Calendar-serif;src:url('../fonts/serif.ttf') format('truetype');font-display:swap}
*{box-sizing:border-box} [hidden]{display:none!important} :root{--accent:#333333;--workspace:#f4f3f0} body{margin:0;color:#292929;background:var(--workspace);font:14px/1.5 Calendar-sans,Arial,sans-serif}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;background:white;border:1px solid #deddd8;border-radius:9px;padding:10px 14px;color:inherit}button:hover{border-color:#777}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #4180a0;outline-offset:3px}.primary{background:var(--accent);color:white;border-color:var(--accent)}h1,h2,p{margin:0 0 12px}h1{font-size:25px;font-weight:400}h2{font-size:18px}label{display:grid;gap:5px}select,input[type=number]{border:1px solid #d4d3cd;border-radius:7px;background:white;padding:9px}header{height:78px;position:fixed;inset:0 0 auto;background:white;display:flex;align-items:center;gap:20px;padding:12px 25px;z-index:5;border-bottom:1px solid #eee}.back{font-size:25px;color:inherit;text-decoration:none}.brand{font-size:25px;font-weight:bold;max-width:220px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.brand img{max-width:170px;max-height:44px;object-fit:contain}#autosave{font-size:11px;color:#6b6b64}.header-actions{display:flex;gap:7px;margin-left:auto}.header-actions #undo,.header-actions #redo{font-size:24px;line-height:1;padding:9px 12px}aside{position:fixed;top:78px;bottom:76px;left:0;width:290px;background:#fff;padding:24px 20px;overflow:auto;border-right:1px solid #e5e4df}aside p{color:#72726b;font-size:12px}.sidebar-title{display:flex;justify-content:space-between}#close-gallery{display:none}#add{width:100%;position:sticky;top:0;z-index:1}.gallery-tools{display:grid;gap:10px;margin:20px 0}.gallery-tools button{font-size:12px}#gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}#gallery button{padding:3px;position:relative;overflow:hidden}#gallery img{width:100%;aspect-ratio:1;object-fit:cover;display:block}#gallery small{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.used-dot{position:absolute;right:4px;top:4px;background:#fff;border-radius:50%;padding:0 4px;color:#333}main{margin:78px 0 76px 290px;padding:34px 48px 50px;min-height:calc(100vh - 154px)}.heading{display:flex;justify-content:space-between;gap:20px;align-items:start;max-width:960px;margin:auto}.heading p{color:#777;font-size:12px}.heading label{font-size:11px}#year{min-width:100px}.view-tabs{display:flex;gap:5px;justify-content:center;margin:16px 0 22px}.view-tabs button[aria-pressed=true]{background:#dddcd5;border-color:#dddcd5}#status,#count{text-align:center;font-size:12px;color:#6f6f68}#error{background:#fff0ef;color:#982f2f;border-radius:8px;padding:12px;overflow-wrap:anywhere}#pages{max-width:580px;margin:auto;display:grid;gap:28px}.page{background:none;padding:10px;border:2px solid transparent;border-radius:9px;min-width:0}.page.selected{border-color:#aaa89d}.page-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:13px}.page-title small{font-size:10px;color:#777}.page-stage{display:block;width:100%;padding:0;position:relative;border:0;border-radius:0;box-shadow:0 7px 20px #00000012}.page-stage canvas{display:block;width:100%;height:auto}.empty-label{position:absolute;background:#ffffffde;padding:9px 14px;border-radius:20px;left:50%;top:25%;transform:translate(-50%,-50%);white-space:nowrap;font-size:12px}.page-actions{display:flex;justify-content:center;gap:7px;margin-top:12px}.page-actions button{font-size:11px;padding:7px 10px}.overview #pages{max-width:1100px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.overview .page-title{font-size:11px}.overview .page-title small{display:none}.overview .page-actions{flex-wrap:wrap}.overview .page-actions button{padding:4px;font-size:9px}.overview .empty-label{font-size:9px;padding:5px}.swap-hint{background:#fff5d9;padding:8px;border-radius:6px}footer{position:fixed;inset:auto 0 0;height:76px;display:flex;gap:18px;align-items:center;justify-content:flex-end;padding:12px 25px;border-top:1px solid #deddd8;background:white;z-index:6}footer label{display:flex;align-items:center;gap:8px;font-size:12px}#quantity{width:70px}#open-gallery{display:none}dialog{border:0;border-radius:16px;padding:24px;width:min(760px,calc(100% - 24px));max-height:94dvh;overflow:auto;color:inherit}dialog::backdrop{background:#0008}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.close{font-size:30px;line-height:1;padding:5px 12px}.crop-stage{background:#efeee9;display:flex;justify-content:center;padding:18px;border-radius:10px;margin-top:12px}#canvas{max-width:100%;max-height:42dvh;object-fit:contain;touch-action:none;display:block}.hint{text-align:center;font-size:12px;color:#73736b;margin:12px 0}.zoom{display:flex;align-items:center;gap:12px;justify-content:center}.zoom input{width:55%}.crop-actions{display:flex;justify-content:center;gap:8px;margin:15px 0}#filters{display:flex;gap:8px;overflow:auto;padding:5px 0 16px}#filters button{flex:0 0 90px;padding:4px;font-size:10px}#filters canvas{width:100%;height:auto;display:block;border-radius:5px}#filters .active{outline:2px solid var(--accent)}#apply,#confirm{display:block;margin:10px auto 0;min-width:200px}#review-pages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}#review-pages figure{margin:0}#review-pages canvas{display:block;width:100%;box-shadow:0 3px 8px #0001}#review-pages figcaption{font-size:10px;text-align:center}#review-summary{text-align:center;margin:15px 0}
@media(max-width:1000px){main{padding:25px;margin-left:250px}aside{width:250px}.overview #pages{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){header{height:66px;padding:10px 12px;gap:12px}.brand{font-size:21px;max-width:95px}.brand img{max-width:90px;max-height:35px}#autosave{position:absolute;left:44px;bottom:1px;font-size:8px;max-width:150px;white-space:nowrap;overflow:hidden}.header-actions{gap:4px}.header-actions button{padding:9px 10px}.header-actions #undo,.header-actions #redo{font-size:22px;padding:9px}aside{top:66px;bottom:76px;width:min(340px,100%);z-index:7;transform:translateX(-100%);transition:transform .16s ease}.gallery-open aside{transform:translateX(0);box-shadow:15px 0 45px #0002}#close-gallery{display:block;padding:0 10px;font-size:26px}main{margin:66px 0 76px;padding:22px 12px 35px}.heading{padding:0 8px;gap:8px}.heading h1{font-size:21px}.heading p{font-size:10px;max-width:240px}.heading label{font-size:10px}#year{min-width:80px;padding:6px}.view-tabs{margin:10px 0 14px}#pages{gap:18px}.page{padding:7px}.page-title{margin-bottom:6px}.page-actions button{min-height:38px}.overview #pages{gap:4px}.overview .page-actions{gap:3px}.overview .page-actions button{font-size:9px}.overview .empty-label{font-size:8px}footer{gap:9px;padding:10px 12px;justify-content:space-between}footer label{font-size:0;gap:0}#quantity{width:49px;font-size:13px;padding:8px 4px}footer .primary{font-size:10px;padding:12px 8px}#total{font-size:12px}#open-gallery{display:block;font-size:11px;padding:10px}dialog{padding:16px;border-radius:12px}.modal-head h2{font-size:16px}.crop-stage{padding:10px}.zoom{display:none}#filters button{flex-basis:73px}#review-pages{grid-template-columns:repeat(2,minmax(0,1fr))}}

.open-calendar #pages{max-width:400px}.open-calendar.overview #pages{max-width:1200px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.open-calendar .page-stage{box-shadow:0 5px 16px #0000000d}.open-calendar .page-stage:focus:not(:focus-visible){outline:none}.open-calendar .empty-label{top:25%}.open-calendar .cover-page .empty-label{top:40%}
@media(max-width:1250px){.open-calendar.overview #pages{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:850px){.open-calendar.overview #pages{grid-template-columns:repeat(2,minmax(0,1fr))}}
