Spaces:
Running
Running
Download hoursprig/style.css from CyberMax-tools/cybermax: direct link, hf CLI and curl.
- Browser
- Download file 21.3 kB
-
https://huggingface.co/spaces/CyberMax-tools/cybermax/resolve/main/hoursprig/style.css
- Command line
-
hf download hf://spaces/CyberMax-tools/cybermax/hoursprig/style.css
-
curl -L -o style.css https://huggingface.co/spaces/CyberMax-tools/cybermax/resolve/main/hoursprig/style.css
21.3 kB
| /* Hoursprig. © 2026 CyberMax. All rights reserved. */ | |
| :root{ | |
| --accent:#1F62B5;--accent2:#154680;--ink:#11141B;--muted:#5B6170;--bg:#F6F3EC;--card:#FFFFFF;--line:#E2DED3;--field:#FFFFFF; | |
| --soft:#EAF0F9;--warn:#9A4B00;--bad:#B42318;--on-accent:#FFFFFF;--shadow:0 1px 2px rgba(17,20,27,.06),0 6px 24px rgba(17,20,27,.06); | |
| color-scheme:light dark; | |
| } | |
| @media (prefers-color-scheme:dark){ | |
| :root{--accent:#6EA3EC;--accent2:#A9C8F3;--ink:#ECEFF3;--muted:#A3A9B6;--bg:#12151B;--card:#1B1F27;--line:#2E3440;--field:#141820;--soft:#1C2636;--warn:#F2B66B;--bad:#FF8A80;--on-accent:#0B1220;--shadow:none} | |
| } | |
| *{box-sizing:border-box} | |
| [hidden]{display:none} | |
| html{-webkit-text-size-adjust:100%;scroll-padding-top:70px;scroll-padding-bottom:84px} | |
| body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif} | |
| a{color:var(--accent)} | |
| code{font:600 .9em ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--soft);padding:1px 5px;border-radius:5px} | |
| .wrap{max-width:1240px;margin:0 auto;padding:0 16px} | |
| .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)} | |
| h1,h2,h3{line-height:1.2;letter-spacing:-.01em} | |
| h1{font-size:clamp(1.7rem,4.4vw,2.6rem);margin:18px 0 8px;font-weight:800} | |
| h2,.h2like{font-size:1.15rem;margin:0;font-weight:700} | |
| .h2like{display:block;color:var(--ink)} | |
| :focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px} | |
| /* header */ | |
| .top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)} | |
| .top-in{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px} | |
| .brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);font-size:1.12rem;min-width:0} | |
| .brand small{color:var(--muted);font-weight:500;font-size:.78rem} | |
| .top-nav{display:flex;align-items:center;gap:8px} | |
| .top-link{color:var(--ink);text-decoration:none;font-weight:600;font-size:.93rem;padding:6px 4px} | |
| .pill{background:var(--accent);color:var(--on-accent);text-decoration:none;font-weight:800;font-size:.8rem;padding:5px 12px;border-radius:999px;letter-spacing:.02em} | |
| html.cmx-pro .pill{background:transparent;color:var(--accent);border:2px solid var(--accent)} | |
| /* hero */ | |
| .hero{padding:4px 0 12px} | |
| .lede{font-size:1.06rem;max-width:780px;color:var(--ink);margin:0 0 14px} | |
| .hero-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px} | |
| .hero-note{color:var(--muted);font-size:.9rem} | |
| .sel-inline select{width:auto;max-width:100%} | |
| /* controls */ | |
| .btn{appearance:none;border:2px solid var(--accent);background:var(--accent);color:var(--on-accent);font:inherit;font-weight:700;border-radius:10px;padding:9px 16px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;line-height:1.2;justify-content:center} | |
| .btn:hover{filter:brightness(1.06)} | |
| .btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)} | |
| .btn.ghost:hover{border-color:var(--accent)} | |
| .btn.sm{padding:6px 11px;font-size:.88rem;border-radius:9px} | |
| .btn.big{padding:12px 22px;font-size:1.05rem;flex:1} | |
| .btn.danger{color:var(--bad)} | |
| .linkish{appearance:none;border:0;background:none;color:var(--accent);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;padding:0} | |
| .pro-tag{display:inline-block;font-size:.66rem;font-weight:800;letter-spacing:.04em;background:var(--accent);color:var(--on-accent);border-radius:5px;padding:1px 5px;vertical-align:middle} | |
| html.cmx-pro .pro-tag{display:none} | |
| label{display:block;font-size:.84rem;font-weight:600;margin:10px 0 4px;color:var(--ink)} | |
| .opt{font-weight:400;color:var(--muted)} | |
| input,select,textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--field);border:1.5px solid var(--line);border-radius:9px;padding:9px 10px;min-width:0} | |
| textarea{resize:vertical} | |
| input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)} | |
| input.bad{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 7%,var(--field))} | |
| .check{display:flex;gap:8px;align-items:center;font-weight:600;flex-wrap:wrap} | |
| .check input{width:20px;height:20px;flex:0 0 auto;accent-color:var(--accent)} | |
| .hint{color:var(--muted);font-size:.86rem;margin:6px 0} | |
| .hint.tiny{font-size:.8rem;margin:0} | |
| .btns{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px} | |
| .combo{display:flex;gap:6px;align-items:center} | |
| .combo input{flex:1 1 60px} | |
| .combo.sm input{flex:0 0 76px;width:76px} | |
| .combo span{color:var(--muted);font-size:.88rem} | |
| .icon-btn{appearance:none;border:1.5px solid var(--line);background:transparent;color:var(--ink);width:40px;height:40px;border-radius:9px;cursor:pointer;font-size:1.1rem;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto} | |
| .icon-btn:hover{border-color:var(--accent);color:var(--accent)} | |
| .icon-btn.sm{width:32px;height:32px;font-size:1rem} | |
| /* app layout */ | |
| .app{padding-bottom:10px} | |
| .cols{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start} | |
| @media (min-width:980px){.cols{grid-template-columns:minmax(0,520px) minmax(0,1fr)}.preview-col{position:sticky;top:70px;max-height:calc(100vh - 80px);overflow:auto;padding-bottom:6px}} | |
| .card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow)} | |
| .card-head{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;justify-content:space-between;margin-bottom:4px} | |
| .plan-chip{font-size:.78rem;font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 9px} | |
| .editor{display:flex;flex-direction:column;gap:12px;min-width:0} | |
| .editor summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between} | |
| .editor summary::-webkit-details-marker{display:none} | |
| .editor summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);margin-right:4px;transition:transform .15s} | |
| .editor details[open]>summary::after{transform:rotate(225deg)} | |
| .editor details[open]>summary{margin-bottom:4px} | |
| .g2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px} | |
| .g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 12px} | |
| .span2{grid-column:span 2} | |
| .emp-row{display:flex;flex-wrap:wrap;gap:8px;align-items:end} | |
| .emp-sel{flex:1 1 180px} | |
| .period-row{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:end;margin-top:12px} | |
| .start{flex:1 1 210px}.start label{margin-top:0} | |
| .start input{text-align:center} | |
| .seg{display:inline-flex;gap:3px;background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:3px} | |
| .seg button{appearance:none;font:inherit;font-weight:700;font-size:.9rem;border:0;background:transparent;color:var(--ink);padding:8px 11px;border-radius:8px;cursor:pointer} | |
| .seg button[aria-checked=true]{background:var(--accent);color:var(--on-accent)} | |
| .only-semi{display:none} | |
| body.semi .only-semi{display:block} | |
| .logo-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px} | |
| .logo-prev{min-width:90px;height:44px;border:1.5px dashed var(--line);border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.8rem;padding:3px 8px;background:#fff} | |
| @media (prefers-color-scheme:dark){.logo-prev{background:var(--field)}} | |
| .logo-prev img{max-height:36px;max-width:150px} | |
| .file-btn{margin:0;cursor:pointer} | |
| .rule{margin:10px 0 0} | |
| .rule .check{margin:0 0 6px} | |
| .rule .hint{margin:4px 0 0} | |
| .pro-rules{border-top:1px dashed var(--line);margin-top:12px;padding-top:2px} | |
| /* time card */ | |
| .days-head{display:grid;grid-template-columns:62px minmax(0,1fr) 78px 68px;gap:8px;font-size:.74rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:6px 0 4px;border-bottom:1px solid var(--line)} | |
| .days-head span:nth-child(3),.days-head span:nth-child(4){text-align:right} | |
| .day{display:grid;grid-template-columns:62px minmax(0,1fr) 78px 68px;gap:6px 8px;align-items:start;padding:9px 0;border-bottom:1px dashed var(--line)} | |
| .dl{display:flex;flex-direction:column;line-height:1.15;padding-top:6px} | |
| .dl b{font-size:.98rem}.dl span{font-size:.8rem;color:var(--muted)} | |
| .pairs{display:flex;flex-direction:column;gap:6px;min-width:0} | |
| .pair{display:flex;align-items:center;gap:5px} | |
| .pair input.t{flex:1 1 0;min-width:0;padding:8px 6px;text-align:center;font-variant-numeric:tabular-nums} | |
| .dash{color:var(--muted)} | |
| .icon-btn.add{color:var(--accent);font-weight:800} | |
| .icon-btn:disabled{opacity:.35;cursor:default} | |
| .brk{display:flex;align-items:center;gap:4px} | |
| .brk input{padding:8px 6px;text-align:center} | |
| .brk span{font-size:.78rem;color:var(--muted)} | |
| .dt{text-align:right;line-height:1.2;padding-top:5px;font-variant-numeric:tabular-nums} | |
| .dt b{font-size:1.06rem;display:block} | |
| .dt b.z{color:var(--muted);font-weight:600} | |
| .dt small{font-size:.72rem;color:var(--muted)} | |
| .day .note{grid-column:2/-1;padding:5px 9px;font-size:16px;border-style:dashed} | |
| .day.off .dl b{color:var(--muted)} | |
| /* summary + actions */ | |
| .preview-col{min-width:0;scroll-margin-top:68px;display:flex;flex-direction:column;gap:12px} | |
| #cmx-pro,#app,#history{scroll-margin-top:68px} | |
| .sum-top{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between} | |
| .sum .k{font-size:.78rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em} | |
| .sum .big{font-size:2.3rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--ink)} | |
| .sum .pay .big{color:var(--accent)} | |
| .sum .pay{text-align:right} | |
| .sum .sub{color:var(--muted);font-size:.88rem} | |
| .sum-t{width:100%;border-collapse:collapse;margin-top:10px;font-variant-numeric:tabular-nums;font-size:.94rem} | |
| .sum-t th,.sum-t td{padding:5px 4px;border-bottom:1px solid var(--line);text-align:right} | |
| .sum-t thead th{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em} | |
| .sum-t tbody th{text-align:left;font-weight:600} | |
| .rules-line{font-size:.82rem;color:var(--muted);margin:8px 0 0} | |
| .locked-note{font-size:.86rem;margin:8px 0 0;padding:8px 10px;border-radius:9px;background:var(--soft)} | |
| .act-row{display:flex;gap:8px;flex-wrap:wrap} | |
| .limits{margin:10px 0 0;font-size:.88rem;color:var(--muted)} | |
| .limits b{color:var(--ink)} | |
| .warn{margin:6px 0 0;color:var(--warn);font-size:.86rem;font-weight:600} | |
| .warn:empty{display:none} | |
| .paper-wrap{position:relative;overflow:hidden;border-radius:6px;box-shadow:0 2px 6px rgba(0,0,0,.08),0 18px 40px rgba(17,20,27,.12);flex:0 0 auto} | |
| /* timesheet paper (mirrors the PDF) */ | |
| .paper{width:794px;min-height:1123px;transform-origin:0 0;background:#fff;color:#11141B;font:11.5px/1.4 Helvetica,Arial,sans-serif;padding:53px 53px 70px;position:relative} | |
| .paper.letter{width:816px;min-height:1056px} | |
| .paper *{box-sizing:border-box} | |
| .p-head{display:flex;align-items:flex-start;gap:16px} | |
| .p-logo{max-height:53px;max-width:173px} | |
| .p-co{flex:1;min-width:0} | |
| .p-name{font-size:19px;font-weight:700;line-height:1.2} | |
| .p-kind{color:#5B6170;font-size:12px;margin-top:3px} | |
| .p-title{text-align:right} | |
| .p-title div{font-size:29px;font-weight:700;color:#1F62B5;line-height:1} | |
| .p-title span{display:block;font-weight:700;font-size:12.5px;margin-top:6px} | |
| .p-band{display:grid;grid-template-columns:30% 17% 36% 17%;background:#F4F6FA;margin:26px 0 18px;padding:12px 13px} | |
| .p-band small{display:block;font-size:8.6px;font-weight:700;color:#5B6170;letter-spacing:.03em} | |
| .p-band b{display:block;font-size:12.5px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:8px} | |
| .p-t{width:100%;border-collapse:collapse;font-size:11px;font-variant-numeric:tabular-nums} | |
| .p-t th{background:#1F62B5;color:#fff;font-size:9px;text-transform:uppercase;letter-spacing:.03em;text-align:left;padding:8px 8px} | |
| .p-t td{padding:6px 8px;border-bottom:.7px solid #D9DCE3;vertical-align:top} | |
| .p-t .n{text-align:right;white-space:nowrap} | |
| .p-t .b{font-weight:700} | |
| .p-t i{font-style:normal;color:#5B6170} | |
| .p-t .nt{color:#5B6170;max-width:130px} | |
| .p-t tr.off td{color:#9AA0AC} | |
| .p-t tr.wk td{background:#F4F6FA;font-weight:700} | |
| .p-t tr.tot td{background:#E3ECF8;font-weight:700} | |
| .p-bottom{display:flex;gap:24px;justify-content:space-between;margin-top:20px} | |
| .p-rules{flex:0 1 42%} | |
| .p-rules small{display:block;font-size:9px;font-weight:700;color:#5B6170;margin-top:4px} | |
| .p-rules p{margin:4px 0 10px;font-size:10.6px} | |
| .p-pay{border-collapse:collapse;font-size:12px;flex:0 1 54%;font-variant-numeric:tabular-nums;align-self:flex-start} | |
| .p-pay td{padding:3px 0} | |
| .p-pay td:first-child{color:#5B6170;padding-right:18px} | |
| .p-pay td:last-child{text-align:right;padding-left:18px} | |
| .p-pay tr.g td{border-top:1.6px solid #1F62B5;padding-top:9px;font-weight:700;font-size:14.5px;color:#11141B} | |
| .p-pay tr.g td:last-child{color:#1F62B5;font-size:17px} | |
| .p-confirm{color:#5B6170;font-size:11px;margin:30px 0 50px} | |
| .p-sig{display:grid;grid-template-columns:1fr 106px 1fr 106px;gap:18px} | |
| .p-sig span{display:block;border-top:.9px solid #11141B} | |
| .p-sig small{display:block;font-size:9.4px;font-weight:700;color:#5B6170;margin-top:4px} | |
| .p-sig em{display:block;font-style:normal;font-size:9.4px;color:#5B6170;margin-top:4px} | |
| .p-foot{position:absolute;left:53px;right:53px;bottom:22px;display:flex;flex-direction:column;gap:3px} | |
| .p-disc{font-size:8.6px;color:#9AA0AC} | |
| .p-credit{font-size:10px;color:#7A8090} | |
| html.cmx-pro .p-credit{display:none} | |
| .p-credit a{color:inherit;text-decoration:none} | |
| .p-credit a:hover{text-decoration:underline} | |
| /* after the app */ | |
| .pro-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin:22px 0;border:2px solid var(--accent);background:var(--soft)} | |
| .pro-cta p{margin:6px 0 0;max-width:760px} | |
| .history{margin:22px 0} | |
| .hist-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between} | |
| .hist-head .btns{margin:0} | |
| .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%} | |
| .ht{width:100%;border-collapse:collapse;font-size:.9rem;margin-top:8px} | |
| .ht th,.ht td{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap} | |
| .ht .num{text-align:right;font-variant-numeric:tabular-nums} | |
| .locked{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between;color:var(--muted);margin-top:8px} | |
| .locked p{margin:0;max-width:680px} | |
| .example{margin:30px 0} | |
| .example h2{font-size:1.3rem;margin-bottom:8px} | |
| .example p{margin:8px 0} | |
| section.how,section.compare,section.faq{margin:34px 0} | |
| section.how h2,section.compare h2,section.faq h2{font-size:1.45rem;margin-bottom:12px} | |
| .steps{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));padding:0;margin:0;list-style:none;counter-reset:s} | |
| .steps li{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 16px 16px 58px;position:relative;counter-increment:s} | |
| .steps li::before{content:counter(s);position:absolute;left:16px;top:14px;width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-weight:800;display:flex;align-items:center;justify-content:center} | |
| .cmp{width:100%;border-collapse:collapse;background:var(--card);border-radius:12px;overflow:hidden;font-size:.94rem} | |
| .cmp th,.cmp td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top} | |
| .cmp thead th{background:var(--soft);font-size:.82rem;text-transform:uppercase;letter-spacing:.03em} | |
| .cmp tr.us th,.cmp tr.us td{background:color-mix(in srgb,var(--accent) 7%,var(--card))} | |
| .faq details{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-bottom:8px} | |
| .faq summary{cursor:pointer;font-weight:700} | |
| .faq p{margin:8px 0 0} | |
| .disclaimer{color:var(--muted);font-size:.88rem;border-left:3px solid var(--line);padding-left:12px} | |
| footer.more{border-top:1px solid var(--line);margin-top:30px;padding:22px 0 40px} | |
| .more-title{font-weight:800;margin-bottom:10px} | |
| .more-links{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:16px} | |
| .more-links a{text-decoration:none;font-weight:600} | |
| .more-links a:hover{text-decoration:underline} | |
| .copy{color:var(--muted);font-size:.88rem} | |
| .toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%) translateY(20px);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px;font-weight:600;opacity:0;transition:.2s;z-index:50;max-width:calc(100% - 32px);pointer-events:none;text-align:center} | |
| .toast.show{opacity:1;transform:translateX(-50%) translateY(0)} | |
| @media (max-width:640px){ | |
| .g3{grid-template-columns:1fr 1fr}.g3 .span2{grid-column:span 2} | |
| .cmp thead{display:none}.cmp,.cmp tbody,.cmp tr,.cmp th,.cmp td{display:block;width:100%} | |
| .cmp tr{border-bottom:1px solid var(--line);padding:6px 0}.cmp th,.cmp td{border:0;padding:3px 12px} | |
| .top-link{display:none} | |
| .brand small{display:none} | |
| .hero-row .btn{flex:1} | |
| .sel-inline{flex:1 1 100%}.sel-inline select{width:100%} | |
| .seg{display:grid;grid-template-columns:repeat(3,1fr);width:100%} | |
| .seg button{padding:8px 4px} | |
| .days-head{display:none} | |
| .day{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px} | |
| .dl{flex-direction:row;gap:6px;align-items:baseline;padding-top:2px} | |
| .dt{grid-column:2;grid-row:1;padding-top:0} | |
| .pairs{grid-column:1/-1} | |
| .brk{grid-column:1;grid-row:3} | |
| .brk input{width:70px;flex:0 0 70px} | |
| .day .note{grid-column:2;grid-row:3;width:auto;min-width:0} | |
| .day{grid-template-columns:minmax(0,auto) minmax(0,1fr)} | |
| .dt{justify-self:end} | |
| .sum .big{font-size:1.9rem} | |
| .sum .pay{text-align:left} | |
| } | |
| /* phone action bar */ | |
| .mbar{display:none} | |
| @media (max-width:979px){ | |
| .mbar{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(8px);border-top:1px solid var(--line)} | |
| .mbar .btn{flex:1} | |
| .toast{bottom:84px} | |
| body{padding-bottom:72px} | |
| } | |
| /* Pro box (shared/pro-unlock/pro-plans.css) */ | |
| #cmx-pro.cmx-pro{border:2px solid var(--accent,#b63a10);border-radius:16px;padding:20px;margin:28px 0;background:var(--card,#fff)} | |
| #cmx-pro h2{margin:0 0 8px} | |
| #cmx-pro ul{margin:8px 0 14px;padding-left:20px} | |
| .cmx-pro-badge{background:var(--accent,#b63a10);color:#fff;border-radius:999px;padding:2px 10px;font-size:.7em;vertical-align:middle} | |
| .cmx-pro-small{font-size:.88em;opacity:.8} | |
| .cmx-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:10px 0} | |
| .cmx-plan{position:relative;display:flex;flex-direction:column;gap:2px;padding:14px;border:1px solid var(--line,#d9d3c7);border-radius:12px;text-decoration:none;color:inherit;background:var(--bg,#faf8f3)} | |
| .cmx-plan:hover,.cmx-plan:focus{border-color:var(--accent,#b63a10);outline:none} | |
| .cmx-plan.best{border:2px solid var(--accent,#b63a10)} | |
| .cmx-plan i{position:absolute;top:-10px;right:10px;background:var(--accent,#b63a10);color:#fff;font-style:normal;font-size:.72em;font-weight:700;border-radius:999px;padding:2px 8px} | |
| .cmx-price{font-size:1.5em;font-weight:800} | |
| .cmx-price small{font-size:.55em;font-weight:600;opacity:.75} | |
| .cmx-note{font-size:.82em;opacity:.75} | |
| .cmx-pro-flash{animation:cmxflash 1.5s ease} | |
| @keyframes cmxflash{0%,100%{box-shadow:none}30%{box-shadow:0 0 0 6px color-mix(in srgb,var(--accent,#b63a10) 35%,transparent)}} | |
| #cmx-pro details{margin-top:8px} | |
| #cmx-pro input{max-width:280px} | |
| /* layout helpers for the Pro box form in this app */ | |
| #cmx-pro form{display:flex;flex-wrap:wrap;gap:8px;align-items:end} | |
| #cmx-pro form label{flex:1 1 220px;margin:0} | |
| #cmx-pro .cmx-plans{max-width:420px} | |
| /* print: only the timesheet */ | |
| @media print{ | |
| @page{margin:0;size:auto} | |
| html,body{background:#fff;padding:0;margin:0} | |
| body>:not(main),main>div.wrap,.editor,#sum,.actions,.toast,.mbar{display:none} | |
| #app{padding:0;max-width:none} | |
| .cols{display:block} | |
| .preview-col{position:static;max-height:none;overflow:visible;display:block} | |
| .paper-wrap{position:static;overflow:visible;box-shadow:none;height:auto;border-radius:0} | |
| #doc{transform:none;width:100%;min-height:0;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact} | |
| #doc .p-foot{position:fixed;bottom:8mm;left:14mm;right:14mm} | |
| .p-t tr{break-inside:avoid} | |
| } | |
| /* 16 Oct 2026 quality pass: live totals on the first phone screen, undo/redo */ | |
| .hero-summary{display:flex;flex-direction:column;gap:4px;margin:14px 0 0;padding:12px 14px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:14px;background:var(--card);color:var(--ink);text-decoration:none;max-width:560px;transition:transform .15s ease} | |
| .hero-summary:hover{transform:translateY(-1px)} | |
| .hero-summary[hidden]{display:none} | |
| .hs-k{font-size:.82rem;color:var(--muted);font-weight:600}.hs-row{font-size:1rem}.hs-row b{font-size:1.15rem} | |
| .hs-go{font-size:.86rem;font-weight:700;color:var(--accent)} | |
| @media (min-width:981px){.hero-summary{display:none}} | |
| @media (max-width:640px){.hero .lede{font-size:1rem}} | |
| @media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none;animation:none;scroll-behavior:auto}} | |