:root{--navy:#102c46;--gold:#b39a65;--cream:#f5f1e9;--line:#e4ddcf}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--navy);font:15px/1.5 'Segoe UI',sans-serif}main{max-width:1500px;margin:auto;padding:30px 42px}.author{color:#8e7448;font-family:Georgia,serif;margin-bottom:25px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--gold);padding-bottom:25px}header img{width:140px;object-fit:contain}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:600}h1{font:clamp(40px,5vw,70px)/1.1 Georgia,serif;margin:18px 0}h1 span{color:var(--gold)}header p{font-size:18px;color:#627081}.meta{display:flex;justify-content:space-between;padding:20px 0}aside{background:#ede2c8;padding:12px 18px;font-size:13px;border-radius:5px}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin:25px 0 32px;border:1px solid var(--line);background:#fffcf7}.stats div{padding:20px 25px;border-right:1px solid var(--line);display:flex;gap:16px;align-items:center;color:#66707a}.stats b{font:38px Georgia;color:var(--navy)}.stats div:nth-child(2) b{color:#2b785d}.stats div:nth-child(3) b{color:#a66b24}.workspace{background:#fffdf9;border:1px solid var(--line);border-radius:10px;padding:25px;box-shadow:0 8px 30px #172b4010}.toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center}h2{font:30px Georgia;margin:7px 0}.filters{display:flex;gap:12px;align-items:end}label{font-size:12px;color:#65717b}select{display:block;padding:10px;background:white;border:1px solid var(--line);border-radius:5px;color:var(--navy);font:inherit}button{font:600 12px 'Segoe UI';cursor:pointer;border:1px solid #d7dfe0;border-radius:5px;padding:10px 12px;color:var(--navy);background:white}button:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.quiet{background:transparent}.hint{color:#74808a;font-size:13px;margin-bottom:22px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{background:var(--navy);color:#fff;font-size:12px;font-weight:500;letter-spacing:.3px;padding:15px}td{padding:20px 14px;vertical-align:top;border-bottom:1px solid var(--line);min-width:135px}tr:nth-child(even){background:#f8f5ef}td small{display:block;color:#73808c;margin-top:5px;font-size:12px}td a{display:block;margin-top:7px;color:#2d6f83}.actions{display:flex;flex-direction:column;gap:6px;min-width:170px}.actions button.selected[data-value=reached]{background:#deeee5;color:#226348;border-color:#8cbaa1}.actions button.selected[data-value=missed]{background:#fff0d5;color:#825419;border-color:#dfbd76}.actions button.selected[data-value=open]{background:#e9edf3}textarea{width:100%;min-width:200px;height:64px;resize:vertical;border:1px solid #d9d8d2;border-radius:5px;padding:9px;font:13px 'Segoe UI';background:#fff}.save{background:var(--navy);color:white;margin-top:6px}.save:disabled{opacity:.55}.notice{min-height:20px;font-size:12px;color:#27664b;margin-top:6px}.bad,#error{color:#ac3838}footer{background:var(--navy);color:#ecede9;margin:30px -0px 0;padding:25px 30px;border-radius:7px}footer strong{font:25px Georgia}footer div{margin:14px 0;font-size:13px}footer span{color:#d0b274;padding:0 16px}footer small{color:#b8c4cd;font-size:12px}@media(max-width:760px){main{padding:20px 12px}header img{width:85px}header p{font-size:14px}.stats{grid-template-columns:1fr 1fr}.stats div{padding:14px;gap:10px;font-size:12px}.stats b{font-size:28px}.toolbar{display:block}.filters{flex-wrap:wrap;margin-top:16px}.workspace{padding:15px 10px}.meta{font-size:12px}table,tbody,tr,td{display:block}thead{display:none}tr{border:1px solid var(--line);border-radius:8px;margin-bottom:15px;padding:8px}td{border:none;padding:8px;min-width:0}td:before{content:attr(data-label);display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#8c784c;margin-bottom:4px}.actions{flex-direction:row;flex-wrap:wrap}textarea{min-width:0}.table-wrap{overflow:visible}footer{padding:20px}footer span{padding:0 5px}}@media print{.filters,.save,.hint{display:none}main{padding:0}.workspace{box-shadow:none}textarea{border:none}button{border:none}.stats{margin:12px 0}footer{background:white;color:#102c46}tr{break-inside:avoid}}
body{background:#f8f5ee}main{max-width:1500px}.editorial{position:relative;display:block;min-height:380px;border:0;background:url('/architecture.png') right top/auto 390px no-repeat;margin-top:-55px;padding-top:60px}.author{position:relative;z-index:1}.brand{display:flex;flex-direction:column;gap:14px;width:280px}.brand img{width:175px}.brand span{font-size:10px;letter-spacing:4px}.brand-motto{position:absolute;top:60px;left:340px;font:15px/1.6 Georgia;border-bottom:1px solid var(--gold);padding-bottom:12px}.hero-title{position:relative;margin-top:48px}.hero-title h1{font-size:clamp(44px,6.5vw,88px);margin:14px 0}.hero-title p{font-family:Georgia;letter-spacing:2px}.promise{position:absolute;right:0;bottom:35px;font:italic 23px Georgia;color:#927544}.meta{border-top:1px solid var(--gold)}.calendar{margin:25px 0;background:#eeeae0;padding:20px 25px;border-radius:8px}.calendar-heading{display:flex;justify-content:space-between;align-items:center}.calendar-heading h2{font-size:24px}.calendar input{display:block;padding:8px;color:var(--navy);border:1px solid #d3c5a7;border-radius:4px;background:#fffdf8}.calendar-nav{display:flex;align-items:stretch;gap:12px;margin-top:16px}.calendar-nav>button{font-size:28px;background:transparent;border:0}#day-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;flex:1}.day{background:#faf8f3;border:1px solid #ddd4c0;padding:12px}.day small{display:block;letter-spacing:2px;font-weight:400}.day strong{display:block;font:23px Georgia;margin-top:6px}.day.today{border:2px solid var(--gold)}.day.active{background:var(--navy);color:white}.calendar p{font-size:12px;color:#5c6977;margin-bottom:0}.workspace{background:#fffdf8;box-shadow:none}.stats{background:#eeeae0;border:0}.stats div{border-right:1px solid #c9b88e}th{background:#ede7da;color:var(--navy);border-bottom:2px solid var(--gold)}footer{background:linear-gradient(120deg,#112c44,#203a51)}@media(max-width:760px){.editorial{min-height:350px;background-size:auto 235px;background-position:right top;padding-top:60px}.brand{width:auto}.brand img{width:105px}.brand span{font-size:8px;letter-spacing:2px}.brand-motto{display:none}.hero-title{margin-top:80px}.hero-title h1{font-size:42px}.hero-title .eyebrow{font-size:8px}.promise{display:none}.calendar{padding:15px 10px}.calendar-heading{gap:10px;align-items:start}.calendar-heading h2{font-size:19px}.calendar input{max-width:130px}.calendar-nav{gap:1px}#day-strip{gap:4px}.day{padding:8px 2px}.day small{font-size:8px;letter-spacing:0}.day strong{font-size:17px}.calendar-nav>button{padding:4px}.hero-title p{font-size:14px}}@media print{.calendar-nav,.calendar-heading label{display:none}}
.contact-menu{margin:0 0 8px;max-width:260px}.contact-menu summary{cursor:pointer;color:#173f5b;overflow-wrap:anywhere;font-weight:600}.contact-options{margin-top:6px;padding:10px;background:#eee8db;border:1px solid #d8c79f;border-radius:6px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.contact-options a{margin:0;padding:8px;background:#fff;border-radius:4px}.contact-options small{flex-basis:100%}.list-tools{display:flex;align-items:end;gap:15px;flex-wrap:wrap;margin-top:20px}.list-tools input{display:block;padding:10px;border:1px solid #ded5c3;border-radius:4px;min-width:260px;background:#fff;color:#102c46}.list-tools span{font-size:12px;color:#65717b;padding:10px 0}tr[hidden]{display:none!important}@media(max-width:760px){.list-tools input{min-width:0;width:100%}.list-tools label:first-child{width:100%}.contact-menu{max-width:100%}}@media print{.list-tools,.contact-options{display:none}.contact-menu summary{list-style:none}}
.preparation{margin-top:14px;max-width:300px;border-top:1px solid #d6c6a4;padding-top:10px}.preparation summary{cursor:pointer;font-weight:600;color:#826831}.preparation strong{display:block;font-size:12px;margin-top:12px}.preparation p{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 10px}.preparation small{overflow-wrap:anywhere}dialog{width:min(820px,94vw);max-height:88vh;border:1px solid #bea578;border-radius:12px;padding:25px;background:#faf7ef;color:#102c46;box-shadow:0 25px 100px #0004}dialog::backdrop{background:#102c4699}.note-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}#daily-caption{font-size:13px;color:#65717b}.note-summary{background:#eae1cd;padding:15px;border-radius:5px}.note-card{padding:15px 0;border-bottom:1px solid #d6c6a4}.note-card h3{font:22px Georgia;margin-bottom:5px}.note-card .preparation{max-width:none}.note-card>small{color:#876737}@media(max-width:760px){dialog{padding:16px}.note-heading h2{font-size:23px}.filters{max-width:100%}}
.purchase-card{margin-top:22px}.purchase-field{display:block;font-size:14px;color:#102c46;margin:18px 0}.purchase-field textarea{display:block;margin-top:8px;min-height:95px;max-width:100%}.purchase-field input{display:block;margin-top:8px;padding:12px;border:1px solid #c8b894;border-radius:5px;font:inherit;background:white;color:#102c46}.file-download{display:block;padding:10px;margin-bottom:6px;background:#eee8db;color:#102c46;border-radius:4px}.conflict-box{border:1px solid #b65c45;padding:12px;background:#fff0e7}.conflict-box pre{white-space:pre-wrap;overflow-wrap:anywhere}.purchase-card>small{display:block;margin-top:8px}[hidden]{display:none!important}#login input{display:block;padding:10px;margin:8px 0 15px}#login label{display:block}#connection{padding:12px 0}
.purchase-task{display:grid;grid-template-columns:1fr 190px;gap:12px;padding:15px 0;border-bottom:1px solid #d7ccb7}.purchase-task textarea{grid-column:1/-1;min-height:60px}.purchase-task strong{align-self:center}.purchase-task select{width:100%}@media(max-width:600px){.purchase-task{grid-template-columns:1fr}.purchase-task textarea{grid-column:1}}
.seller-compact{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 18px;background:#eee8db;border-radius:7px;margin-bottom:20px}.seller-compact span{overflow-wrap:anywhere}.seller-compact button{font-size:24px;padding:4px 13px;flex-shrink:0}.seller-editor{padding:15px;border:1px solid #d8cbb3;border-radius:7px;margin-bottom:18px}

.purchase-card>summary{cursor:pointer;font:26px/1.4 Georgia,serif;overflow-wrap:anywhere}.purchase-card>summary:focus-visible{outline:3px solid var(--gold);outline-offset:6px}.purchase-card[open]>summary{padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:18px}
/* Raised object tiles */
.purchase-card{position:relative;padding:0;border:1px solid #d8ccb5;border-radius:16px;background:linear-gradient(135deg,#fffefb,#f3eddf);box-shadow:0 5px 0 #d7ccb8,0 12px 22px #102c4612;transition:box-shadow .18s ease,transform .18s ease;margin:20px 0 26px}
.purchase-card>summary{position:relative;list-style:none;padding:24px 64px 24px 26px;margin:0!important;border:0!important;font:600 23px/1.4 'Segoe UI',sans-serif;letter-spacing:.3px;border-radius:16px;user-select:none}
.purchase-card>summary::-webkit-details-marker{display:none}
.purchase-card>summary::after{content:'+';position:absolute;right:22px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#102c46;color:#eee0bd;font:24px/1 'Segoe UI';box-shadow:0 3px 0 #081c2d}
.purchase-card[open]{padding:0 24px 24px;background:#fffdf8;box-shadow:0 3px 0 #d7ccb8,0 12px 28px #102c4614}
.purchase-card[open]>summary{margin:0 -24px 20px!important;border-bottom:1px solid #ded3be!important;border-radius:16px 16px 0 0;background:linear-gradient(135deg,#f7f1e4,#e9dfc9)}
.purchase-card[open]>summary::after{content:'−'}
@media(hover:hover){.purchase-card:not([open]):hover{transform:translateY(-2px);box-shadow:0 7px 0 #d7ccb8,0 16px 25px #102c461c}}
@media(max-width:600px){.purchase-card>summary{font-size:20px;padding:20px 60px 20px 18px}.purchase-card[open]{padding:0 16px 18px}.purchase-card[open]>summary{margin:0 -16px 18px!important}}
@media(prefers-reduced-motion:reduce){.purchase-card{transition:none}.purchase-card:not([open]):hover{transform:none}}
.task-upload{display:grid;gap:6px;align-content:center}.task-upload input{max-width:100%}.task-files{display:grid;gap:4px;font-size:14px}.task-empty{color:#6b6b6b}.task-upload small{min-height:1em;color:#102c46}@media(max-width:600px){.task-upload{grid-column:1/-1}}
