@font-face{font-family:Maison;src:url('/assets/type/MaisonNeueWEB-Mono.woff2')}*{box-sizing:border-box}body{margin:0;background:#101112;color:#eee;font:14px Maison,monospace;line-height:1.5}a{color:inherit}nav{display:flex;gap:8px;flex-wrap:wrap;padding:24px 32px;border-bottom:1px solid #333;align-items:center}nav a,.button,button{display:inline-block;padding:10px 16px;border:1px solid #444;border-radius:5px;background:#222;color:#fff;text-decoration:none;font:inherit;cursor:pointer}nav a[aria-current]{background:#eee;color:#111}nav form{margin-left:auto}main{padding:32px}h1{font-size:22px}h2{font-size:17px}table{width:100%;border-collapse:collapse}th,td{padding:12px;text-align:left;border-bottom:1px solid #353535}th{color:#999;font-weight:normal}.number{text-align:right;white-space:nowrap}.toolbar{display:flex;justify-content:space-between;gap:20px;margin-bottom:24px;flex-wrap:wrap}.editor{display:grid;grid-template-columns:minmax(300px,34%) 1fr;height:calc(100vh - 90px)}.editor form{overflow:auto;padding:28px}.editor iframe{width:100%;height:100%;border:0;background:white}.editor.client{display:block;height:auto;max-width:850px;margin:auto}label{display:block;margin:16px 0;color:#aaa}input,textarea,select{display:block;width:100%;margin-top:6px;border:1px solid #555;border-radius:4px;padding:10px;background:#111;color:#fff;font:inherit}textarea{min-height:90px;resize:vertical}input[type=checkbox]{display:inline;width:auto}button:disabled{opacity:.5;cursor:wait}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;position:sticky;bottom:0;background:#101112;padding:14px 0}.delete{margin-left:auto;color:#faa}.help{font-size:12px;color:#999}.status-1{border-left:4px solid #aaa}.status-2{border-left:4px solid #e9b400}.status-3{border-left:4px solid #29aa75}.overdue{border-left:4px solid #ef5555}.login{max-width:600px;margin:10vh auto}.print{background:white;color:#111;padding:40px}.paper{max-width:850px;margin:auto}.paper img{width:60px;margin-bottom:20px}.paper th,.paper td{border-color:#ddd;vertical-align:top}.paper th{width:22%}.paper .pre{white-space:pre-wrap;overflow-wrap:anywhere}.paper h1{padding:20px 0;border-top:1px solid #111}.paper section{margin:24px 0}.paper .print-tools{margin-bottom:20px}.paper table{break-inside:auto}.paper tr{break-inside:avoid}@media(max-width:800px){nav{padding:16px}main{padding:16px}.editor{display:block;height:auto}.editor iframe{height:900px}.table-wrap{overflow:auto}.editor form{padding:16px}}@media print{.print-tools{display:none}.print{padding:0;font-size:11px}.paper{max-width:none}a{text-decoration:none}thead{display:table-header-group}@page{margin:16mm}}
/* v1 presentation, retained over v2's protected forms and routes. */
body{background:#000;color:#fff;font-size:.725rem;line-height:1.15}nav{margin:0 32px;padding:40px 0 0;gap:4px;border-bottom:1px solid #262626;align-items:flex-end}nav a{border:1px solid #333;border-radius:16px 16px 0 0;background:#000;padding:16px;position:relative;bottom:-1px}nav a[aria-current]{background:#000;color:white;border-bottom-color:#000;z-index:1}nav form{margin:0 0 6px auto}nav button{color:#777;background:transparent;border:0;padding:8px}nav a:hover{color:#aaa}.button,button{font-size:inherit;background:#262626;border:0;border-radius:4px;padding:10px;line-height:1.15}button:hover,.button:hover{background:#357edd}.listing{padding:32px}.toolbar{margin:0 0 32px;align-items:flex-start}.create-form,.year-menu{width:calc(25% - 24px)}.create-form button{width:100%;text-align:left;background:#357edd;height:32px}.create-form button:hover{background:#00449e}.year-menu{position:relative;z-index:3}.year-menu summary{list-style:none;background:#333;padding:10px;border-radius:4px;cursor:pointer}.year-menu summary:after{content:'▾';float:right}.year-menu>div{position:absolute;top:100%;width:100%;background:#fff;color:#000;border-radius:0 0 4px 4px}.year-menu a{display:block;padding:10px;text-decoration:none}.year-menu a span{float:right}.year-menu a:hover{background:#357edd;color:#fff}.status-group{border-radius:4px;margin:16px 0;color:white;padding:0 16px}.status-group.red{background:#ff4136}.status-group.silver{background:#999}.status-group.gold{background:#ffb700}.status-group.green{background:#19a974}.status-group>summary{list-style:none;display:flex;justify-content:space-between;color:#000;padding:16px 8px 8px;cursor:pointer;border-bottom:1px solid #ffffff33}.status-group>summary>span:first-child:before{content:'▾';margin-right:6px}.status-group:not([open])>summary{padding-bottom:16px;border-bottom:0}.status-group:not([open])>summary>span:first-child:before{content:'▸'}.list-head,.list-row{display:grid;align-items:center;padding:10px 8px;gap:0}.invoice-row{grid-template-columns:10% 20% 30% 10% 10% 20%}.client-row{grid-template-columns:25% 25% 20% 20% 10%}.list-head{color:#0000004d}.list-row{background:#0003;border-radius:4px;text-decoration:none;min-height:32px;margin-bottom:4px;padding:10px}.list-row:hover{background:#0006}.list-row>span,.list-head>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:8px}.list-row>span:last-child,.list-head>span:last-child{text-align:right;padding-right:0}.list-rows{padding-bottom:4px}.group-total,.estimated{display:flex;justify-content:space-between;padding:8px 8px 16px}.group-total>span:first-child{color:#0000004d}.estimated{padding:16px 24px}.estimated>span:first-child{color:#ffffff4d}.empty{color:#888}.document-editor{overflow:hidden}.editor{grid-template-columns:30% 70%;height:100vh}.editor form{padding:0 16px;border-top:8px solid #999}.editor:has(input[name=status][value="2"]:checked) form{border-top-color:#ffb700}.editor:has(input[name=status][value="3"]:checked) form{border-top-color:#19a974}.editor h1{display:none}.editor-links{display:flex;gap:32px;padding:16px 0 32px}.editor-links a{flex:1;text-align:left;margin-top:8px;white-space:nowrap}.editor iframe{height:100vh}.editor label{padding:16px 0;margin:0;border-top:1px solid #3333;color:#ffffff4d}.editor input,.editor textarea,.editor select{margin-top:8px;font-size:inherit;padding:8px;border-color:#262626;border-radius:4px;background:#000;line-height:1.15}.editor input,.editor select{height:32px}.editor textarea{padding:16px;line-height:1.5;min-height:100px}.editor textarea[name=notes]{min-height:160px}.status-field{border:0;border-top:1px solid #262626;padding:16px 0 32px;margin:0;min-width:0}.status-field legend{float:left;width:100%;color:#ffffff4d;margin-bottom:8px}.status-switch{display:flex;width:100%;padding:2px;border:1px solid #262626;border-radius:4px;height:32px}.status-switch label{border:0;padding:0;flex:1;position:relative;color:white;text-align:center}.status-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.status-switch span{display:block;height:26px;line-height:26px;border:0!important;border-radius:2px}.status-switch input:checked+span{background:#999}.status-switch input:checked+.status-2{background:#ffb700}.status-switch input:checked+.status-3{background:#19a974}.status-switch input:focus-visible+span{outline:2px solid #357edd}.editor form>label:has([name=issued]),.editor form>label:has([name=payment_period]){width:50%;float:left}.editor form>label:has([name=issued]){padding-right:16px}.editor form>label:has([name=payment_period]){padding-left:16px}.editor form>label:has([name=paid]){clear:both}.help{font-size:inherit;line-height:1.5}.actions{background:#000;border-top:1px solid #262626;font-size:inherit}.actions .delete{color:white}.actions .delete:hover{background:#ff4136}.editor.client{max-width:none;margin:32px;height:auto}.editor.client form{border-top:0;padding:0}.editor.client form>label{display:inline-block;width:50%;vertical-align:top;padding:16px}.editor.client label:has(textarea){width:100%}.editor.client h1{display:none}.print{padding:32px;background:white;color:black;font-size:.725rem;line-height:1.5}.paper{max-width:none}.logo-rule{border-bottom:1px solid black;padding:8px 0 32px}.paper img{width:60px;display:block;margin:0}.paper-row{display:flex;border-bottom:1px solid #0000001a;padding:8px 0}.paper-label{width:20%;color:#0000004d}.paper-value{width:80%}.paper-half{width:40%}.paper-row>div{min-width:0}.paper-rule{padding-top:8px;padding-bottom:32px;border-bottom:1px solid black}.item-row{display:flex;border-bottom:1px solid #0000001a;padding:8px 0}.item-row span:first-child{width:80%}.item-row span:last-child{width:20%;text-align:right}.item-head{color:#0000004d;padding-top:0}.item-total{border:0;padding-bottom:0}.item-total span:first-child{color:#0000004d}.bank-row{display:flex;padding:8px 0;border-bottom:1px solid #0000001a}.bank-row:first-child{padding-top:0}.bank-row:last-child{padding-bottom:0;border:0}.bank-row>span{width:50%}.bank-row>span:first-child{color:#0000004d}.print-tools{margin:32px 0 0}.proposal-content{padding:24px 0}body:has(.login){line-height:1.5}.login h1{font-size:20px}@media(max-width:960px){.invoice-row{grid-template-columns:15% 30% 30% 25%}.invoice-row>span:nth-child(3),.invoice-row>span:nth-child(5){display:none}.client-row{grid-template-columns:40% 40% 20%}.client-row>span:nth-child(3),.client-row>span:nth-child(4){display:none}.create-form,.year-menu{width:calc(50% - 16px)}.editor-links{gap:8px;flex-wrap:wrap}.editor-links a{white-space:normal}.editor{grid-template-columns:35% 65%}}@media(max-width:600px){nav{margin:0 16px;padding-top:24px;flex-wrap:wrap}nav a{padding:12px 8px}.listing{padding:16px}.document-editor{overflow:auto}.editor{display:block;height:auto}.editor iframe{height:1000px}.editor.client{margin:16px}.editor.client form>label{width:100%}.print{padding:20px}.status-group{padding:0 8px}.invoice-row{grid-template-columns:20% 50% 30%}.invoice-row>span:nth-child(4){display:none}.toolbar{gap:12px}.paper-row{overflow-wrap:anywhere}}@media print{.print{padding:0;font-size:.725rem}.print-tools{display:none}.paper-row,.item-row,.bank-row{break-inside:avoid}}
@media(min-width:601px){.editor{display:grid}.editor.client{display:block}}.editor form>label{border-top-color:#262626}.editor{grid-template-columns:30% 70%}.editor.client form{overflow:visible}.client-history{padding:0 16px 16px}.client-history h2{color:#ffffff4d;font-size:inherit;font-weight:normal}.client-history .list-head{color:#ffffff4d}.client-history .list-row{background:#262626}.client-history .list-row:hover{background:#357edd}.client-history .list-row{grid-template-columns:10% 20% 30% 20% 20%}@media(max-width:600px){.client-history .list-row{grid-template-columns:20% 50% 30%}.client-history .list-row>span:nth-child(3),.client-history .list-row>span:nth-child(4){display:none}}

.print{padding:32px}@media print{.print{padding:0}}
