.op-page{--white: #ffffff;--gray-950: #0a0c10;--gray-900: #0f1115;--gray-800: #14171e;--gray-700: #1a1d24;--gray-600: #22262f;--gray-500: #2e3340;--gray-400: #a7adba;--gray-300: #c8cdd8;--red-600: #e02222;--red-700: #b81c1c;--green-500: #22c55e;--green-bg: rgba(34, 197, 94, .12);--amber-500: #f59e0b;--amber-bg: rgba(245, 158, 11, .12);--blue-400: #60a5fa;background:var(--gray-900);color:var(--white);font-family:Montserrat,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}.op-page *,.op-page *:before,.op-page *:after{box-sizing:border-box}.op-page a{color:inherit;text-decoration:none}.op-page .mono{font-family:JetBrains Mono,monospace}.op-header{background:var(--gray-800);border-bottom:1px solid rgba(255,255,255,.08);height:56px;padding:0 1.5rem;display:flex;align-items:center;gap:1rem;flex-shrink:0;position:sticky;top:0;z-index:100}.op-header .logo-wrap img{height:40px;width:auto;display:block}.op-header .divider{width:1px;height:22px;background:#ffffff1f}.op-header .app-title{font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--white);margin:0}.op-header .app-sub{font-size:11px;color:var(--gray-400);font-family:JetBrains Mono,monospace;letter-spacing:.06em}.op-header .spacer{flex:1}.op-header .user-chip{display:flex;align-items:center;gap:.5rem;padding:5px 10px;border-radius:999px;background:var(--gray-700);border:1px solid rgba(255,255,255,.1);font-size:12px}.op-header .user-chip .avatar{width:22px;height:22px;border-radius:50%;background:var(--red-600);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#fff;flex-shrink:0}.op-header .user-chip .uname{font-weight:600;color:var(--white)}.op-header .user-chip .udomain{color:var(--gray-400)}.op-header .sign-out-btn{font-size:12px;color:var(--gray-400);font-weight:600;border:1px solid rgba(255,255,255,.12);border-radius:.25rem;padding:4px 10px;background:transparent;cursor:pointer;font-family:inherit;transition:color .15s,border-color .15s}.op-header .sign-out-btn:hover{color:var(--white);border-color:#ffffff4d}.op-main{flex:1;padding:1.75rem 2rem 3rem;max-width:1200px;width:100%;margin:0 auto}@media(max-width:720px){.op-main{padding:1.25rem 1rem 2rem}.op-header{padding:0 1rem;gap:.5rem}.op-header .app-title,.op-header .app-sub,.op-header .user-chip .udomain{display:none}.op-header .user-chip .uname{max-width:38vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.op-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.op-title-row h1{margin:0;font-size:1.25rem;font-weight:800;letter-spacing:-.01em}.op-title-row .sub{font-size:12px;color:var(--gray-400);margin-top:2px}.op-page .btn-primary{display:inline-flex;align-items:center;gap:6px;padding:.625rem 1.125rem;background:var(--red-600);color:var(--white);border:none;border-radius:.25rem;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s}.op-page .btn-primary:hover:not(:disabled){background:var(--red-700)}.op-page .btn-primary:disabled{background:var(--gray-500);color:var(--gray-300);cursor:not-allowed}.op-page .btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:.5625rem 1rem;background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.2);border-radius:.25rem;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s}.op-page .btn-secondary:hover{border-color:#fff6;background:#ffffff0d}.op-page .btn-ghost{display:inline-flex;align-items:center;gap:5px;padding:.4375rem .75rem;background:transparent;color:var(--gray-400);border:1px solid rgba(255,255,255,.1);border-radius:.25rem;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:color .12s,border-color .12s}.op-page .btn-ghost:hover{color:var(--white);border-color:#ffffff40}.op-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-family:JetBrains Mono,monospace;white-space:nowrap}.op-pill .dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.op-pill.pending{background:var(--amber-bg);color:var(--amber-500);border:1px solid rgba(245,158,11,.25)}.op-pill.pending .dot{background:var(--amber-500)}.op-pill.completed{background:var(--green-bg);color:var(--green-500);border:1px solid rgba(34,197,94,.25)}.op-pill.completed .dot{background:var(--green-500)}.op-pill.expired{background:#ffffff0d;color:var(--gray-400);border:1px solid rgba(255,255,255,.1)}.op-pill.expired .dot{background:var(--gray-400)}.op-stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.875rem;margin-bottom:1.5rem}@media(max-width:720px){.op-stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.op-stats-row{grid-template-columns:1fr}}.op-stat-card{background:var(--gray-700);border:1px solid rgba(255,255,255,.07);border-radius:.375rem;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:4px}.op-stat-card .sv{font-size:28px;font-weight:800;line-height:1;letter-spacing:-.01em}.op-stat-card .sl{font-size:11px;color:var(--gray-400);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-family:JetBrains Mono,monospace}.op-stat-card .ss{font-size:11px;color:var(--gray-400);margin-top:1px}.op-stat-card.pending .sv{color:var(--amber-500)}.op-stat-card.complete .sv{color:var(--green-500)}.op-toolbar{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.op-search-wrap{position:relative;flex:1;min-width:200px}.op-search-wrap .si{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--gray-400);font-size:13px;pointer-events:none}.op-search-wrap input{width:100%;padding:.5625rem .875rem .5625rem 2.25rem;background:var(--gray-700);border:1px solid rgba(255,255,255,.12);border-radius:.25rem;color:var(--white);font-family:inherit;font-size:13px;transition:border-color .15s}.op-search-wrap input:focus{outline:none;border-color:var(--red-600)}.op-search-wrap input::placeholder{color:#a7adba80}.op-filter-select{padding:.5625rem .875rem;background:var(--gray-700);border:1px solid rgba(255,255,255,.12);border-radius:.25rem;color:var(--white);font-family:inherit;font-size:13px;cursor:pointer}.op-filter-select:focus{outline:none;border-color:var(--red-600)}.op-table-card{background:var(--gray-700);border:1px solid rgba(255,255,255,.07);border-radius:.5rem;overflow-x:auto}.op-table{width:100%;border-collapse:collapse;font-size:13px}.op-table thead th{padding:.625rem 1rem;text-align:left;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-400);border-bottom:1px solid rgba(255,255,255,.07);background:#ffffff05;font-family:JetBrains Mono,monospace;white-space:nowrap}.op-table tbody tr{border-bottom:1px solid rgba(255,255,255,.05);transition:background .12s;cursor:pointer}.op-table tbody tr:last-child{border-bottom:0}.op-table tbody tr:hover{background:#ffffff0a}.op-table tbody td{padding:.875rem 1rem;vertical-align:middle}.op-table .td-name{font-weight:600;color:var(--white)}.op-table .td-name small{display:block;font-size:11px;color:var(--gray-400);font-weight:400;margin-top:1px}.op-table .td-addr{color:var(--gray-400);font-size:12px;max-width:200px;line-height:1.4}.op-table .td-plan{color:var(--white);font-size:12px}.op-table .td-plan small{display:block;color:var(--gray-400);font-size:11px;margin-top:1px;font-family:JetBrains Mono,monospace}.op-table .td-date{color:var(--gray-400);font-size:12px;font-family:JetBrains Mono,monospace;white-space:nowrap}.op-table .td-sent-by{color:var(--gray-400);font-size:11px;font-family:JetBrains Mono,monospace}.op-table .td-actions{text-align:right;white-space:nowrap;opacity:.4}.op-table tbody tr:hover .td-actions{opacity:1}.op-table-empty{padding:3rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--gray-400)}.op-table-empty .em-icon{font-size:28px;opacity:.5}.op-table-empty p{margin:0;max-width:40ch;line-height:1.5}@media(max-width:720px){.op-table{min-width:600px}}.op-form-shell{max-width:640px}.op-back-link{display:inline-flex;align-items:center;gap:.375rem;font-size:13px;color:var(--gray-400);font-weight:600;cursor:pointer;padding:.25rem 0;margin-bottom:1.25rem;background:none;border:none;font-family:inherit;transition:color .12s}.op-back-link:hover{color:var(--white)}.op-form-card{background:var(--gray-700);border:1px solid rgba(255,255,255,.07);border-radius:.5rem;padding:1.75rem;margin-bottom:1rem}.op-form-card h2{margin:0 0 1.5rem;font-size:1rem;font-weight:800}.op-form-grid{display:flex;flex-direction:column;gap:1.125rem}.op-form-row-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.875rem}.op-form-row-3{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:.875rem}@media(max-width:720px){.op-form-row-2,.op-form-row-3{grid-template-columns:1fr}}.op-form-group{display:flex;flex-direction:column;gap:.375rem;min-width:0}.op-form-group label{font-size:12px;font-weight:700;color:var(--gray-300);letter-spacing:.04em;text-transform:uppercase;font-family:JetBrains Mono,monospace}.op-form-group label .opt{font-weight:400;color:var(--gray-400);text-transform:none;font-family:Montserrat,sans-serif;font-size:11px}.op-form-group input,.op-form-group select,.op-form-group textarea{padding:.6875rem .875rem;border:1px solid rgba(255,255,255,.14);border-radius:.25rem;background:var(--gray-900);color:var(--white);font-family:inherit;font-size:14px;min-height:42px;width:100%;min-width:0;transition:border-color .15s,box-shadow .15s}.op-form-group input:focus,.op-form-group select:focus,.op-form-group textarea:focus{outline:none;border-color:var(--red-600);box-shadow:0 0 0 3px #e0222226}.op-form-group input::placeholder,.op-form-group textarea::placeholder{color:#a7adba66;font-size:13px}.op-form-group textarea{min-height:80px;resize:vertical}.op-input-prefix-wrap{position:relative}.op-input-prefix-wrap .prefix{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--gray-400);font-size:14px;pointer-events:none;font-weight:600}.op-input-prefix-wrap input{padding-left:1.625rem}.op-section-divider{display:flex;align-items:center;gap:.75rem;margin:.375rem 0}.op-section-divider span{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-400);white-space:nowrap;font-family:JetBrains Mono,monospace}.op-section-divider .dline{flex:1;height:1px;background:#ffffff12}.op-form-actions{display:flex;gap:.75rem;align-items:center;margin-top:.5rem;flex-wrap:wrap}.op-form-label-static{font-size:12px;font-weight:700;color:var(--gray-300);letter-spacing:.04em;text-transform:uppercase;font-family:JetBrains Mono,monospace}.op-checkbox-label{display:flex;align-items:flex-start;gap:.6rem;padding:.5rem 0;font-size:13px;color:var(--gray-300);cursor:pointer;line-height:1.4;letter-spacing:normal;text-transform:none;font-family:inherit;font-weight:500}.op-checkbox-label input[type=checkbox]{margin:2px 0 0;padding:0;min-height:unset;width:16px;height:16px;accent-color:var(--red-600);cursor:pointer;flex-shrink:0}.op-checkbox-label .opt{color:var(--gray-400);font-weight:400;font-size:12px}.op-expiry-chips{display:flex;gap:.5rem;flex-wrap:wrap}.op-expiry-chip{padding:.4375rem .875rem;border-radius:.25rem;border:1px solid rgba(255,255,255,.14);background:var(--gray-900);font-size:12px;font-weight:600;color:var(--gray-400);cursor:pointer;font-family:inherit;transition:border-color .12s,color .12s,background .12s}.op-expiry-chip.active{border-color:var(--red-600);color:var(--white);background:#e022221f}.op-form-error{background:#e022221a;border:1px solid rgba(224,34,34,.3);border-radius:.25rem;padding:.75rem 1rem;font-size:13px;color:#f99;line-height:1.45}.op-form-help{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:.25rem;padding:.6rem .85rem;font-size:12px;color:var(--gray-400);line-height:1.45}.op-form-help b{color:var(--white)}.op-generated-card{background:var(--gray-700);border:1px solid rgba(255,255,255,.07);border-radius:.5rem;overflow:hidden}.op-gen-banner{background:var(--gray-600);padding:1.5rem 1.75rem;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:1rem}.op-gen-check{width:40px;height:40px;border-radius:50%;flex-shrink:0;background:var(--green-bg);border:2px solid var(--green-500);display:flex;align-items:center;justify-content:center;font-size:16px}.op-gen-banner h2{margin:0 0 2px;font-size:1rem;font-weight:800}.op-gen-banner p{margin:0;font-size:13px;color:var(--gray-400)}.op-gen-body{padding:1.5rem 1.75rem;display:flex;flex-direction:column;gap:1.25rem}.op-link-box{background:var(--gray-900);border:1px solid rgba(255,255,255,.12);border-radius:.375rem;padding:.875rem 1rem;display:flex;align-items:center;gap:.875rem}.op-link-box .link-text{flex:1;font-size:12px;word-break:break-all;line-height:1.5;min-width:0;background:transparent;border:none;color:var(--blue-400);padding:0;font-family:JetBrains Mono,monospace}.op-link-box .copy-btn{flex-shrink:0;padding:.5rem .875rem;background:var(--gray-700);border:1px solid rgba(255,255,255,.15);border-radius:.25rem;color:var(--white);font-size:12px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .12s}.op-link-box .copy-btn:hover{background:var(--gray-500)}.op-link-box .copy-btn.copied{color:var(--green-500);border-color:#22c55e4d}@media(max-width:480px){.op-link-box{flex-direction:column;align-items:stretch}.op-link-box .copy-btn{width:100%}}.op-gen-summary{display:flex;flex-direction:column;gap:0}.op-gen-row{display:flex;justify-content:space-between;align-items:baseline;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px}.op-gen-row:last-child{border-bottom:0}.op-gen-row .gl{color:var(--gray-400);font-weight:500}.op-gen-row .gv{color:var(--white);font-weight:600;font-family:JetBrains Mono,monospace;font-size:12px;text-align:right}.op-gen-instructions{background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:.375rem;padding:1rem 1.125rem;font-size:12.5px;color:var(--gray-400);line-height:1.6}.op-gen-instructions b{color:var(--white);font-weight:600}.op-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:720px){.op-detail-grid{grid-template-columns:1fr}}.op-detail-card{background:var(--gray-700);border:1px solid rgba(255,255,255,.07);border-radius:.5rem;padding:1.25rem 1.5rem}.op-detail-card .dc-head{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-400);margin-bottom:1rem;font-family:JetBrains Mono,monospace}.op-detail-card .dc-row{display:flex;justify-content:space-between;align-items:baseline;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px}.op-detail-card .dc-row:last-child{border-bottom:0}.op-detail-card .dc-lbl{color:var(--gray-400);font-weight:500}.op-detail-card .dc-val{color:var(--white);font-weight:600;text-align:right;word-break:break-word}.op-detail-notes{font-size:13px;color:var(--gray-400);line-height:1.6;padding-top:.25rem;white-space:pre-wrap;word-break:break-word}.op-auth-page{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:var(--gray-900)}.op-auth-card{background:var(--gray-700);border:1px solid rgba(255,255,255,.08);border-radius:.5rem;padding:2.5rem 2rem;max-width:400px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.op-auth-card img{height:60px;width:auto}.op-auth-card .auth-title{font-size:1.125rem;font-weight:800}.op-auth-card .auth-sub{font-size:13px;color:var(--gray-400);line-height:1.55;max-width:28ch;margin:0}.op-auth-card .auth-cta{display:flex;align-items:center;gap:.75rem;justify-content:center;width:100%;padding:.875rem 1.5rem;background:var(--red-600);color:var(--white);border:none;border-radius:.25rem;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;transition:background .15s}.op-auth-card .auth-cta:hover{background:var(--red-700)}.op-page .google-btn{display:flex;align-items:center;gap:.75rem;justify-content:center;width:100%;padding:.875rem 1.5rem;background:var(--white);color:#1f2937;border:none;border-radius:.25rem;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;transition:background .15s,box-shadow .15s}.op-page .google-btn:hover{background:#f1f5f9;box-shadow:0 1px 4px #0003}.op-page .google-btn .g-icon{flex-shrink:0}.op-header .user-chip .avatar-img{object-fit:cover;background:var(--gray-500)}.op-auth-note{font-size:11px;color:var(--gray-400);line-height:1.55;border-top:1px solid rgba(255,255,255,.07);padding-top:1rem;width:100%}.op-auth-note b{color:var(--white)}.op-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--gray-600);border:1px solid rgba(255,255,255,.14);border-radius:.375rem;padding:.75rem 1.25rem;font-size:13px;font-weight:500;color:var(--white);box-shadow:0 8px 24px #00000080;z-index:8000;white-space:nowrap;transition:opacity .2s;pointer-events:none}.op-toast.hidden{opacity:0}
