.o30-workspace{max-width:1420px;margin:auto;padding:28px 32px 64px}.o30-breadcrumb{display:flex;gap:10px;flex-wrap:wrap;color:#738080;font-size:13px;margin-bottom:24px}.o30-breadcrumb a{color:#17665b}.o30-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.o30-heading h1{font-size:34px;letter-spacing:-1px;margin:8px 0 6px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.o30-kicker{font-size:11px;font-weight:700;letter-spacing:1.2px;color:#687e79}.o30-heading-actions{display:flex;gap:8px;flex-wrap:wrap}.o30-badge{font-size:12px;line-height:1.4;background:#e7eeec;color:#356b5c;border-radius:30px;padding:7px 12px;font-weight:600;letter-spacing:0;white-space:normal}.o30-badge.success{background:#dff3e4;color:#236938}.o30-progress{display:flex;overflow:auto;margin-bottom:26px;border:1px solid #dce5df;border-radius:12px;background:#fff}.o30-progress>span{min-width:125px;flex:1;font-size:12px;padding:12px 14px;display:flex;gap:10px;align-items:center;border-right:1px solid #e6eeea;white-space:nowrap}.o30-progress small{color:#90a39e}.o30-progress .current{background:#e5f2eb;color:#125d4b;font-weight:700}.o30-layout{display:grid;grid-template-columns:minmax(0,1fr) 318px;gap:24px;align-items:start}.o30-primary,.o30-sidebar{min-width:0;display:grid;gap:20px}.o30-panel,.o30-gift{background:#fff;border:1px solid #dce5df;border-radius:16px;padding:24px;box-shadow:0 2px 3px #152e1c03;min-width:0}.o30-gift>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:1px solid #e9efeb;padding-bottom:18px;margin-bottom:18px}.o30-gift h2,.o30-panel h2{font-size:21px;line-height:1.3;margin:7px 0}.o30-gift header p{margin:0;color:#69776f;font-size:13px}.o30-addon{border:1px solid #e7ece7;border-radius:10px;margin:10px 0;padding:15px;background:#fcfcf9}.o30-addon-title{display:flex;justify-content:space-between;gap:10px}.o30-addon blockquote{border-left:3px solid #b6cbc0;margin:14px 0;padding:5px 0 5px 16px;white-space:pre-wrap;overflow-wrap:anywhere;color:#37463d;font-size:16px;line-height:1.6}.o30-addon blockquote small{display:block;color:#75837a;font-size:13px;margin-top:6px}.o30-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 14px}.o30-checks span{font-size:13px;padding:11px 12px;background:#f2f4f1;border-radius:8px;color:#7c857d}.o30-checks .done{background:#eaf4eb;color:#2b6848}.o30-florist-note{background:#fff5dd;padding:12px 15px;border-radius:9px;font-size:13px}.o30-florist-note p{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}.o30-photo-section{margin-top:22px}.o30-photo-section h3{display:flex;justify-content:space-between;font-size:13px;color:#5e7266}.o30-photo-section h3 span{color:#83988a}.o30-photos{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.o30-photos figure{width:126px;margin:0}.o30-photos img{width:126px;height:130px;object-fit:cover;border:1px solid #eee;border-radius:10px;background:#eef1ec}.o30-photos figure .btn{display:block;margin:5px 0 0;padding:6px 10px;font-size:11px}.o30-person{display:flex;justify-content:space-between;gap:12px;margin:17px 0;font-size:13px}.o30-person span{color:#7b837f}.o30-person b{font-weight:600;text-align:right;overflow-wrap:anywhere}.o30-panel dl{margin:15px 0;font-size:13px}.o30-panel dd{margin:0;overflow-wrap:anywhere}.o30-big-date{font-size:17px;line-height:1.8}.o30-totals{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 8px}.o30-totals dd{text-align:right}.o30-balance{font-size:21px;font-weight:600;margin:18px 0;padding-top:16px;border-top:1px solid #e4eae5}.o30-panel .muted{font-size:12px;line-height:1.6}.o30-panel .btn{max-width:100%;white-space:normal;text-align:center}.o30-stock{width:100%;font-size:12px;border-collapse:collapse;margin-top:13px}.o30-stock th,.o30-stock td{padding:9px 3px;border-bottom:1px solid #eef1ed;text-align:right}.o30-stock th:first-child,.o30-stock td:first-child{text-align:left;word-break:break-word}.o30-stock .short{color:#a13b35}.o30-links{display:grid;gap:10px}.o30-section-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.o30-history article{display:flex;gap:15px;margin:18px 0;align-items:flex-start;font-size:13px}.o30-history p{margin:0 0 4px;white-space:pre-wrap;overflow-wrap:anywhere}.o30-history small{color:#8a948e;font-size:11px}.o30-dot{width:7px;height:7px;border-radius:50%;background:#bdcdbf;margin-top:6px;flex:none}.o30-footer{font-size:12px;color:#849088;text-align:center;margin-top:26px}.o30-overlay{position:fixed;inset:0;z-index:1200;background:#17261f66;display:grid;place-items:center;padding:20px;backdrop-filter:blur(3px)}.o30-dialog{background:#fff;width:600px;max-width:100%;max-height:calc(100dvh - 40px);border-radius:18px;display:flex;flex-direction:column;box-shadow:0 20px 80px #0c1e2350;overflow:hidden}.o30-dialog>header{padding:22px 25px;border-bottom:1px solid #e4eae7;display:flex;justify-content:space-between;align-items:center;gap:15px}.o30-dialog h2{font-size:20px;margin:0}.o30-dialog form{overflow:hidden;display:flex;flex-direction:column;min-height:0}.o30-form-body{padding:24px;overflow:auto;display:grid;gap:17px}.o30-form-body label:not(.checkbox){display:grid;gap:7px;font-size:13px;font-weight:600}.o30-form-body input,.o30-form-body select,.o30-form-body textarea{max-width:100%;width:100%;padding:12px;border-radius:9px;border:1px solid #d3dfd7;background:#fff;box-sizing:border-box;font:inherit}.o30-form-body textarea{resize:vertical;min-height:112px}.o30-form-body .checkbox{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.6}.o30-form-body .checkbox input{width:17px;height:17px;margin-top:2px;flex:none;accent-color:#226e59}.o30-modal-checks{display:grid;gap:12px}.o30-form-body .info{margin:0;font-size:13px;line-height:1.6}.o30-dialog footer{padding:17px 24px;border-top:1px solid #e4eae7;display:flex;justify-content:flex-end;gap:10px}.o30-workspace a,.o30-workspace button,.o30-dialog button{touch-action:manipulation}.o30-workspace :focus-visible,.o30-dialog :focus-visible{outline:3px solid #b6d9c5;outline-offset:2px}.o30-form-body .form-error:empty{display:none}#o30-resolve .btn{margin:5px 4px 0 0}
@media(max-width:1040px){.o30-workspace{padding:22px 20px 50px}.o30-layout{grid-template-columns:minmax(0,1fr) 280px;gap:16px}.o30-gift,.o30-panel{padding:18px}.o30-heading h1{font-size:28px}.o30-photos figure,.o30-photos img{width:110px}.o30-photos img{height:116px}}
@media(max-width:760px){.o30-workspace{padding:18px 12px 40px}.o30-layout{grid-template-columns:1fr}.o30-heading{display:block}.o30-heading h1{font-size:28px}.o30-heading-actions{margin-top:16px}.o30-heading-actions button{flex:1}.o30-progress{margin-top:20px}.o30-progress>span{min-width:140px}.o30-gift>header{display:block}.o30-gift>header .o30-badge{display:inline-block;margin-top:12px}.o30-checks{gap:7px}.o30-checks span{padding:10px 8px;font-size:12px}.o30-dialog{max-height:calc(100dvh - 20px);border-radius:14px}.o30-overlay{padding:10px}.o30-dialog>header{padding:18px}.o30-form-body{padding:18px}.o30-dialog footer{padding:14px;flex-wrap:wrap}.o30-dialog footer button{flex:1;white-space:normal}.o30-dialog h2{font-size:18px}.o30-panel .btn{width:100%}.o30-gift h2{font-size:21px}.o30-totals{max-width:450px}}
/* A flex overlay avoids intrinsic grid sizing widening a dialog on 360px. */
.o30-overlay{display:flex;align-items:center;justify-content:center}.o30-dialog{min-width:0;max-width:calc(100vw - 40px)}.o30-form-body,.o30-dialog form,.o30-dialog>header{min-width:0}.o30-form-body label,.o30-form-body p{overflow-wrap:anywhere}
@media(max-width:760px){.o30-dialog{max-width:calc(100vw - 20px)}}
