.olf-app{--lf-ink:#20364b;--lf-muted:#627486;--lf-line:#dce5ed;--lf-blue:#315f91;--lf-tone:#487eac;--lf-soft:#edf5fc;max-width:1080px;margin:8px auto 22px;padding:clamp(18px,3vw,32px);font-family:Cairo,Tahoma,Arial,sans-serif;color:var(--lf-ink);background:#fbfdff;border:1px solid #e0e8f0;border-radius:22px;box-shadow:0 8px 34px #31527507;line-height:1.65}
.olf-app *{box-sizing:border-box}.olf-app [hidden]{display:none!important}.olf-app h1{font-size:clamp(24px,3vw,32px);line-height:1.5;margin:5px 0 0;font-weight:800}.olf-app button,.olf-app input,.olf-app select{font:inherit}.olf-app button{cursor:pointer;min-height:44px;border:1px solid var(--lf-line);border-radius:10px;color:var(--lf-ink);background:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-size:13px;line-height:1.5}.olf-app button:disabled{opacity:.5;cursor:default}.olf-app button:focus-visible,.olf-app input:focus-visible,.olf-app select:focus-visible,.olf-app summary:focus-visible{outline:3px solid #83acd3;outline-offset:3px}.olf-app button>span{display:inline-flex;align-items:center;gap:6px}.olf-app input,.olf-app select{min-height:44px;border:1px solid var(--lf-line);border-radius:9px;background:#fff;color:var(--lf-ink);padding:9px 12px;width:100%;min-width:0;font-size:14px}.olf-app input[aria-invalid=true]{border-color:#b54855}.olf-app svg{flex-shrink:0}.olf-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.olf-eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--lf-muted);font-size:11px}.olf-eyebrow svg{width:16px;height:16px}.olf-fullscreen{flex-shrink:0}.olf-setup{display:flex;align-items:end;gap:20px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--lf-line)}.olf-title-field{position:relative;flex:1}.olf-app label{display:block;font-size:12px;font-weight:600}.olf-app label>input,.olf-app label>select{display:block;margin-top:7px}.olf-optional{font-weight:400;color:var(--lf-muted)}.olf-duration-fields{display:flex;gap:10px;align-items:end}.olf-duration-fields>label{min-width:140px}.olf-duration-fields [data-custom-wrap]{min-width:90px;width:100px}
.olf-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.olf-app [data-color="0"]{--lf-tone:#40779e;--lf-soft:#eaf4fc;--lf-text:#285779}.olf-app [data-color="1"]{--lf-tone:#497e65;--lf-soft:#edf7f0;--lf-text:#325f49}.olf-app [data-color="2"]{--lf-tone:#ac743e;--lf-soft:#fff3e7;--lf-text:#815021}.olf-app [data-color="3"]{--lf-tone:#8365a8;--lf-soft:#f3eefb;--lf-text:#654886}.olf-app .olf-stage{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:start;text-align:right;gap:7px;padding:15px 16px;background:var(--lf-soft);border-color:transparent;border-width:2px;position:relative;box-shadow:0 2px 8px #29445f04;transition:border-color .2s,background .2s}.olf-stage-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.olf-stage-number{font-size:12px;font-weight:700;color:var(--lf-text)}.olf-stage-badge{font-size:10px;color:var(--lf-text);border:1px solid currentColor;border-radius:20px;padding:1px 6px;white-space:nowrap}.olf-stage-name{font-weight:750;font-size:14px;line-height:1.6}.olf-stage-duration{font-size:12px;color:#52697b}.olf-app .olf-stage.is-current{border-color:var(--lf-tone);box-shadow:0 0 0 3px #6f9fc111}.olf-app .olf-stage.is-done{background:#f1f4f7;border:2px dashed #d7e0e9;box-shadow:none;color:#4b5d6e}.olf-stage.is-done .olf-stage-badge{color:#4e6273;border-color:#aabac8}.olf-stage.is-done .olf-stage-number{color:#607182}.olf-stage.is-done .olf-stage-duration{color:#607182}
.olf-center{display:flex;flex-direction:column;align-items:center;padding:14px 0 0;min-width:0}.olf-dial{width:254px;height:254px;position:relative;display:grid;place-items:center;flex-shrink:0}.olf-ring{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.olf-ring circle{fill:none;stroke-width:6}.olf-ring-track{stroke:#e5edf3}.olf-ring-value{stroke:var(--lf-tone);stroke-linecap:round;transition:stroke-dashoffset .2s linear,stroke .2s}.olf-dial-content{position:relative;width:78%;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.olf-dial-caption{font-size:11px;line-height:1.6;color:var(--lf-muted);margin-bottom:5px}.olf-time{font-family:Cairo,Tahoma,Arial,sans-serif;font-size:57px;font-weight:800;line-height:1.25;letter-spacing:-1px;font-variant-numeric:tabular-nums;direction:ltr}.olf-phase-name{font-size:13px;font-weight:650;line-height:1.6;margin-top:8px;overflow-wrap:anywhere;max-width:100%}.olf-total{font-size:13px;color:var(--lf-muted);margin:0;display:flex;gap:12px;align-items:center}.olf-total strong{font-size:18px;color:var(--lf-ink);font-variant-numeric:tabular-nums}.olf-announcement{font-size:12px;line-height:1.7;text-align:center;min-height:22px;margin:9px 0 13px;color:var(--lf-muted)}.olf-app.is-expired .olf-dial{border-radius:50%;background:#fffbf4;box-shadow:0 0 0 5px #d7a96715}.olf-app.is-expired .olf-announcement{color:#8b571e;font-weight:650}.olf-app.is-finished .olf-announcement{color:#32684d}.olf-controls{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px}.olf-app .olf-primary{background:var(--lf-blue);border-color:var(--lf-blue);color:#fff;min-width:155px;font-weight:700}.olf-app .olf-reset{color:var(--lf-muted);background:transparent}.olf-progress-area{margin:20px auto 0;max-width:620px}.olf-progress-label{font-size:10px;color:var(--lf-muted);display:flex;justify-content:space-between;margin-bottom:6px}.olf-progress{height:5px;overflow:hidden;border-radius:12px;background:#e6edf3}.olf-progress>span{display:block;float:right;height:100%;background:#658eaf;width:0;border-radius:inherit;transition:width .2s linear}.olf-settings{margin:20px 0 0;border-top:1px solid var(--lf-line);padding-top:12px}.olf-settings>summary{font-size:12px;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;width:max-content;max-width:100%;color:var(--lf-muted);font-weight:650;list-style:none}.olf-settings>summary::-webkit-details-marker{display:none}.olf-editor{display:grid;gap:10px;margin:12px 0}.olf-editor-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 44px;gap:10px;align-items:end}.olf-editor-row button{padding:10px;width:44px;height:44px;margin-bottom:0}.olf-editor-row input{font-size:13px}.olf-app .olf-add{font-size:12px;min-height:44px;padding:8px 12px}.olf-help,.olf-footnote,.olf-save{font-size:11px;line-height:1.8;color:var(--lf-muted)}.olf-help{margin:10px 0 0}.olf-footnote{text-align:center;margin:12px 0 0}.olf-save{margin:10px 0 0;color:#855620}.olf-save:empty{display:none}.olf-error{background:#fff0f3;color:#9e2d43;border:1px solid #efcbd4;border-radius:10px;padding:10px 14px;font-size:12px;margin:12px 0 0}.olf-board-title{font-size:18px;color:#49667d;margin:7px 0 0;overflow-wrap:anywhere}.olf-tool-page .orc-tools-launcher{display:none!important}
body.olf-in-board{overflow:hidden!important}.olf-in-board .ostadi-site-header,.olf-in-board #wpadminbar,.olf-in-board .orc-tools-launcher{visibility:hidden!important}.olf-app.olf-board,.olf-app:fullscreen{position:fixed;inset:0;z-index:2147483647;width:100vw;height:100vh;height:100dvh;max-width:none;margin:0;border:0;border-radius:0;box-shadow:none;background:#f8fbfe;padding:clamp(18px,3vh,36px) clamp(20px,5vw,90px);overflow:auto;display:flex;flex-direction:column;align-items:stretch;outline:0}.olf-board .olf-header{margin-bottom:20px}.olf-board .olf-eyebrow,.olf-board .olf-setup,.olf-board .olf-settings,.olf-board .olf-footnote{display:none}.olf-board h1{font-size:clamp(24px,3vw,36px)}.olf-board .olf-stages{gap:18px}.olf-board .olf-stage{min-height:115px;padding:18px 22px}.olf-board .olf-stage-name{font-size:clamp(16px,1.5vw,23px)}.olf-board .olf-stage-badge{font-size:12px}.olf-board .olf-stage-duration{font-size:15px}.olf-board .olf-stage-number{font-size:15px}.olf-board .olf-center{padding-top:10px;flex:1;justify-content:center}.olf-board .olf-dial{width:clamp(260px,39vh,420px);height:clamp(260px,39vh,420px)}.olf-board .olf-time{font-size:clamp(64px,9vh,100px)}.olf-board .olf-dial-caption{font-size:15px}.olf-board .olf-phase-name{font-size:clamp(17px,2vh,24px)}.olf-board .olf-total{font-size:17px}.olf-board .olf-total strong{font-size:24px}.olf-board .olf-announcement{font-size:16px;margin:12px 0 16px}.olf-board .olf-controls button{min-height:56px;font-size:17px;padding:14px 24px}.olf-board .olf-progress-area{width:100%;max-width:900px;margin-top:20px}.olf-board .olf-progress-label{font-size:12px}
@media(max-width:720px){.olf-app{padding:18px 16px;border-radius:16px}.olf-header{gap:10px;align-items:start}.olf-app h1{font-size:24px}.olf-eyebrow{font-size:10px}.olf-app .olf-fullscreen{font-size:11px;padding:8px;gap:5px}.olf-stages{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.olf-stage-name{font-size:13px}.olf-app .olf-stage{padding:12px}.olf-setup{align-items:stretch;flex-direction:column;gap:12px}.olf-duration-fields{gap:10px}.olf-duration-fields>label{flex:1}.olf-duration-fields [data-custom-wrap]{width:auto}.olf-dial{width:238px;height:238px}.olf-time{font-size:54px}.olf-controls{gap:8px}.olf-controls button{font-size:12px;padding:10px 12px}.olf-app .olf-primary{min-width:135px}.olf-editor-row{grid-template-columns:minmax(0,1fr) 80px 44px;gap:7px}.olf-editor-row label{font-size:11px}.olf-editor-row input{font-size:12px;padding:8px}.olf-board .olf-stage{min-height:100px;padding:12px}.olf-board .olf-stages{gap:10px}.olf-board .olf-stage-name{font-size:15px}.olf-board .olf-stage-badge{font-size:10px}.olf-board .olf-stage-duration{font-size:12px}.olf-board .olf-stage-number{font-size:12px}.olf-board .olf-dial{width:250px;height:250px}.olf-board .olf-time{font-size:64px}.olf-board .olf-phase-name{font-size:16px}.olf-board .olf-announcement{font-size:13px}.olf-board .olf-controls button{font-size:14px;padding:12px 16px;min-height:48px}.olf-board .olf-header{margin-bottom:16px}}
@media(max-width:380px){.olf-app{padding:16px 12px}.olf-app h1{font-size:21px}.olf-eyebrow{max-width:165px;font-size:9px}.olf-fullscreen svg{width:16px;height:16px}.olf-app .olf-stage{padding:10px}.olf-stage-badge{font-size:9px;padding:1px 4px}.olf-stage-name{font-size:12px}.olf-controls .olf-reset{padding-inline:10px}.olf-board{padding:16px!important}.olf-board .olf-time{font-size:58px}}
@media(max-height:700px) and (min-width:721px){.olf-board{padding:14px 28px!important}.olf-board .olf-header{margin-bottom:10px}.olf-board h1{font-size:24px}.olf-board .olf-board-title{font-size:14px;margin:2px 0 0}.olf-board .olf-stage{min-height:80px;padding:10px 14px;gap:3px}.olf-board .olf-stage-name{font-size:16px}.olf-board .olf-stage-duration{font-size:12px}.olf-board .olf-dial{width:220px;height:220px}.olf-board .olf-time{font-size:56px}.olf-board .olf-dial-caption{font-size:11px}.olf-board .olf-phase-name{font-size:14px}.olf-board .olf-total{font-size:13px}.olf-board .olf-total strong{font-size:18px}.olf-board .olf-announcement{font-size:12px;margin:5px 0 10px}.olf-board .olf-controls button{min-height:44px;font-size:14px;padding:10px 16px}.olf-board .olf-progress-area{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.olf-app *{transition:none!important;animation:none!important}}
[data-ostadi-theme="dark"] .olf-app input,[data-ostadi-theme="dark"] .olf-app select{color:var(--lf-ink);background:#fff;border-color:var(--lf-line)}
.olf-app .olf-stage-edit-hint{font-size:10px;color:var(--lf-text);opacity:.8;margin-top:2px}.olf-app .olf-stage.is-editing{outline:2px solid var(--lf-tone);outline-offset:3px}.olf-stage-edit{margin:16px 0 0;padding:18px;border:1px solid var(--lf-line);border-radius:14px;background:#fff;flex-shrink:0}.olf-stage-edit>strong{font-size:14px;display:block;margin-bottom:12px}.olf-stage-edit-fields{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:12px}.olf-stage-edit-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.olf-app .olf-stage-edit-actions .olf-primary{min-width:0}.olf-board .olf-stage-edit{max-width:900px;width:100%;align-self:center}.olf-board .olf-stage-edit input{font-size:18px}.olf-board .olf-stage-edit-actions button{min-height:48px;font-size:15px}.olf-board .olf-stage-edit-hint{font-size:12px}
@media(max-width:480px){.olf-stage-edit{padding:14px}.olf-stage-edit-fields{grid-template-columns:minmax(0,1fr) 100px;gap:8px}.olf-stage-edit-actions button{flex:1}.olf-stage-edit-actions [data-edit-select]{flex-basis:100%}}
