.uri-gantt{--charcoal: #1c1c1c;--charcoal-2: #262624;--charcoal-3: #31302d;--cream: #f5f2ec;--offwhite: #edebe6;--gold: #c9a870;--gold-ink: #94743c;--gold-soft: #f3ecdf;--olive: #4a5a3a;--sand: #d4c5a9;--asphalt: #888888;--bg: #faf8f4;--surface: #ffffff;--surface-2: #f5f2ec;--surface-3: #efebe3;--border: #ebe7e0;--border-strong: #e2ded8;--text: #1c1c1c;--text-2: #57534d;--muted: #8d8880;--danger: #d2453e;--success: #4a8a5c;--focus: 0 0 0 3px rgba(201, 168, 112, .35);--r-sm: 8px;--r: 12px;--r-lg: 16px;--shadow-1: 0 1px 2px rgba(28, 28, 28, .04), 0 1px 1px rgba(28, 28, 28, .03);--shadow-2: 0 4px 16px -4px rgba(28, 28, 28, .08), 0 2px 4px rgba(28, 28, 28, .04);--shadow-3: 0 24px 48px -12px rgba(28, 28, 28, .22), 0 4px 12px rgba(28, 28, 28, .06);--sidebar-w: 236px;--topbar-h: 60px;--font: "Heebo", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif}.uri-gantt,.uri-gantt *{box-sizing:border-box}.uri-gantt{margin:0;font-family:var(--font);font-size:14px;line-height:1.45;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.uri-gantt button,.uri-gantt input,.uri-gantt select,.uri-gantt textarea{font:inherit;color:inherit}.uri-gantt button{cursor:pointer}.uri-gantt a{color:inherit}.uri-gantt h1,.uri-gantt h2,.uri-gantt h3,.uri-gantt h4{margin:0;letter-spacing:-.01em}.uri-gantt ::-moz-selection{background:#c9a87059}.uri-gantt ::selection{background:#c9a87059}.uri-gantt :focus-visible{outline:none;box-shadow:var(--focus);border-radius:6px}.uri-gantt .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.uri-gantt .muted{color:var(--muted)}.uri-gantt .text-2{color:var(--text-2)}.uri-gantt .nowrap{white-space:nowrap}.uri-gantt .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.uri-gantt .row{display:flex;align-items:center;gap:8px}.uri-gantt .col{display:flex;flex-direction:column;gap:8px}.uri-gantt .grow{flex:1;min-width:0}.uri-gantt .spacer{flex:1}.uri-gantt .tabular{font-variant-numeric:tabular-nums}.uri-gantt .scroll{overflow:auto}.uri-gantt .scroll::-webkit-scrollbar,.uri-gantt .gantt-body::-webkit-scrollbar,.uri-gantt .tg-scroll::-webkit-scrollbar{width:10px;height:10px}.uri-gantt .scroll::-webkit-scrollbar-thumb,.uri-gantt .gantt-body::-webkit-scrollbar-thumb,.uri-gantt .tg-scroll::-webkit-scrollbar-thumb{background:#ddd8cf;border-radius:10px;border:3px solid transparent;background-clip:content-box}.uri-gantt .app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100vh;height:100dvh;overflow:hidden}.uri-gantt .main{display:flex;flex-direction:column;min-width:0;min-height:0}.uri-gantt .page{flex:1;min-height:0;overflow:auto;padding:24px 28px 40px}.uri-gantt .page.flush{padding:0;display:flex;flex-direction:column;overflow:hidden}.uri-gantt .page-head{display:flex;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}.uri-gantt .page-head h1{font-size:26px;font-weight:800;letter-spacing:-.02em}.uri-gantt .page-head .eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);font-weight:600;margin-bottom:4px}.uri-gantt .page-head .sub{color:var(--muted);margin-top:4px}.uri-gantt .page-head .actions{margin-inline-start:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.uri-gantt .view-head{display:flex;align-items:center;gap:12px;padding:16px 24px 12px;flex-wrap:wrap;border-bottom:1px solid var(--border);background:var(--bg)}.uri-gantt .view-head h1{font-size:20px;font-weight:800;letter-spacing:-.02em;margin-inline-end:6px}.uri-gantt .sidebar{background:var(--charcoal);color:var(--offwhite);display:flex;flex-direction:column;padding:18px 12px 14px;gap:4px;min-height:0;z-index:40}.uri-gantt .sb-brand{display:flex;align-items:center;gap:10px;padding:4px 10px 18px}.uri-gantt .sb-brand svg{width:92px;height:auto;color:var(--offwhite)}.uri-gantt .sb-brand .hub{font-size:10px;letter-spacing:.22em;color:var(--gold);font-weight:600;text-transform:uppercase;border:1px solid rgba(201,168,112,.4);padding:2px 6px;border-radius:4px}.uri-gantt .sb-section{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#7f7b74;padding:14px 12px 6px;font-weight:600}.uri-gantt .nav-item{display:flex;align-items:center;gap:11px;padding:8px 12px;border-radius:9px;color:#c9c5bd;text-decoration:none;font-weight:500;border:0;background:transparent;width:100%;text-align:start;position:relative;transition:background .15s,color .15s}.uri-gantt .nav-item svg{width:17px;height:17px;flex:none;opacity:.85}.uri-gantt .nav-item:hover{background:var(--charcoal-2);color:#fff}.uri-gantt .nav-item.active{background:var(--charcoal-3);color:#fff}.uri-gantt .nav-item.active:before{content:"";position:absolute;inset-inline-start:-12px;top:8px;bottom:8px;width:3px;border-start-end-radius:3px;border-end-end-radius:3px;background:var(--gold)}.uri-gantt .nav-item .count{margin-inline-start:auto;font-size:11px;background:#3a3935;color:#e6e2da;border-radius:999px;padding:0 7px;line-height:18px}.uri-gantt .nav-item .count.alert{background:var(--danger);color:#fff}.uri-gantt .sb-projects{display:flex;flex-direction:column;gap:1px;overflow:auto;min-height:0}.uri-gantt .sb-projects .nav-item{font-size:13px;padding:6px 12px}.uri-gantt .sb-projects .sq{width:8px;height:8px;border-radius:2px;flex:none}.uri-gantt .sb-footer{margin-top:auto;padding-top:12px;border-top:1px solid #2c2b29;display:flex;align-items:center;gap:10px;padding-left:6px}.uri-gantt .sb-footer .who{min-width:0;flex:1}.uri-gantt .sb-footer .who b{display:block;font-size:13px;font-weight:600;color:#fff}.uri-gantt .sb-footer .who span{font-size:11.5px;color:#8f8a82}.uri-gantt .sb-footer .btn-icon{color:#a7a29a}.uri-gantt .sb-footer .btn-icon:hover{background:var(--charcoal-3);color:#fff}.uri-gantt .mode-pill{margin:8px 6px 0;font-size:11.5px;color:#d8cfbf;background:#2a2926;border:1px dashed #4a463f;border-radius:9px;padding:8px 10px;line-height:1.35}.uri-gantt .mode-pill b{color:var(--gold)}.uri-gantt .topbar{height:var(--topbar-h);flex:none;display:flex;align-items:center;gap:10px;padding:0 20px 0 24px;border-bottom:1px solid var(--border);background:#faf8f4e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20}.uri-gantt .searchbox{display:flex;align-items:center;gap:10px;height:38px;padding:0 12px;border-radius:10px;width:min(420px,100%);border:1px solid var(--border-strong);background:var(--surface);color:var(--muted);text-align:start;transition:border-color .15s,box-shadow .15s}.uri-gantt .searchbox:hover{border-color:#d3cdc3;box-shadow:var(--shadow-1)}.uri-gantt .searchbox svg{width:16px;height:16px}.uri-gantt .searchbox kbd{margin-inline-start:auto}.uri-gantt kbd{font-family:inherit;font-size:11px;color:var(--muted);border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:5px;padding:0 5px;background:var(--surface)}.uri-gantt .save-state{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}.uri-gantt .save-state .pulse{width:7px;height:7px;border-radius:50%;background:var(--success)}.uri-gantt .save-state.busy .pulse{background:var(--gold);animation:ug-pulse 1s infinite}@keyframes ug-pulse{50%{opacity:.3}}.uri-gantt .mobile-only{display:none!important}.uri-gantt .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-weight:500;white-space:nowrap;transition:background .15s,border-color .15s,box-shadow .15s,transform .05s}.uri-gantt .cal-side>.btn{flex:none}.uri-gantt .btn:hover{background:var(--surface-2);border-color:#d6d0c6}.uri-gantt .btn:active{transform:translateY(1px)}.uri-gantt .btn svg{width:16px;height:16px;flex:none}.uri-gantt .btn-primary{background:var(--charcoal);border-color:var(--charcoal);color:#fff}.uri-gantt .btn-primary:hover{background:#2d2c2a;border-color:#2d2c2a}.uri-gantt .btn-gold{background:var(--gold);border-color:var(--gold);color:var(--charcoal);font-weight:600}.uri-gantt .btn-gold:hover{background:#bf9c62;border-color:#bf9c62}.uri-gantt .btn-ghost{background:transparent;border-color:transparent}.uri-gantt .btn-ghost:hover{background:var(--surface-3);border-color:transparent}.uri-gantt .btn-danger{color:var(--danger)}.uri-gantt .btn-danger:hover{background:#fbeceb;border-color:#f0c9c6}.uri-gantt .btn-sm{height:30px;padding:0 10px;font-size:13px;border-radius:8px}.uri-gantt .btn-xs{height:26px;padding:0 8px;font-size:12px;border-radius:7px;gap:5px}.uri-gantt .btn-xs svg{width:14px;height:14px}.uri-gantt .btn-icon{width:34px;height:34px;padding:0;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--text-2);position:relative}.uri-gantt .btn-icon:hover{background:var(--surface-3);color:var(--text)}.uri-gantt .btn-icon svg{width:18px;height:18px}.uri-gantt .btn-icon.sm{width:28px;height:28px;border-radius:7px}.uri-gantt .btn-icon.sm svg{width:15px;height:15px}.uri-gantt .btn-icon .badge-dot{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg)}.uri-gantt .btn[disabled]{opacity:.5;pointer-events:none}.uri-gantt .seg{display:inline-flex;background:var(--surface-3);border-radius:10px;padding:3px;gap:2px}.uri-gantt .seg button{border:0;background:transparent;height:28px;padding:0 11px;border-radius:7px;font-size:13px;font-weight:500;color:var(--text-2);white-space:nowrap}.uri-gantt .seg button:hover{color:var(--text)}.uri-gantt .seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.uri-gantt .card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);min-width:0}.uri-gantt .card-head{display:flex;align-items:center;gap:10px;padding:16px 18px 6px}.uri-gantt .card-title{font-size:14.5px;font-weight:700}.uri-gantt .card-title small{font-weight:400;color:var(--muted);margin-inline-start:6px;font-size:12.5px}.uri-gantt .card-head .link{margin-inline-start:auto;font-size:12.5px;color:var(--muted);background:none;border:0;padding:4px 6px;border-radius:6px}.uri-gantt .card-head .link:hover{color:var(--text);background:var(--surface-2)}.uri-gantt .card-body{padding:8px 18px 16px}.uri-gantt .card-body.flush{padding:4px 8px 10px}.uri-gantt .dash-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.uri-gantt .span-3{grid-column:span 3}.uri-gantt .span-4{grid-column:span 4}.uri-gantt .span-5{grid-column:span 5}.uri-gantt .span-6{grid-column:span 6}.uri-gantt .span-7{grid-column:span 7}.uri-gantt .span-8{grid-column:span 8}.uri-gantt .span-12{grid-column:span 12}.uri-gantt .stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:16px}.uri-gantt .stat{padding:16px 18px;display:flex;flex-direction:column;gap:6px;cursor:pointer;text-align:start;transition:box-shadow .15s,transform .15s}.uri-gantt .stat:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.uri-gantt .stat .lbl{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:7px}.uri-gantt .stat .lbl svg{width:15px;height:15px;color:var(--gold-ink)}.uri-gantt .stat .val{font-size:30px;font-weight:800;letter-spacing:-.03em;line-height:1}.uri-gantt .stat .hint{font-size:12px;color:var(--muted)}.uri-gantt .stat .hint.bad{color:var(--danger)}.uri-gantt .stat.dark{background:var(--charcoal);border-color:var(--charcoal);color:#fff}.uri-gantt .stat.dark .lbl,.uri-gantt .stat.dark .hint{color:#a9a49b}.uri-gantt .stat.dark .lbl svg{color:var(--gold)}.uri-gantt .hero{display:flex;align-items:flex-end;gap:20px;margin-bottom:18px;flex-wrap:wrap}.uri-gantt .hero h1{font-size:28px;font-weight:800;letter-spacing:-.025em}.uri-gantt .hero .date{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);font-weight:600;margin-bottom:6px}.uri-gantt .hero p{margin:4px 0 0;color:var(--muted)}.uri-gantt .li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;cursor:pointer;min-width:0;transition:background .12s}.uri-gantt .li:hover{background:var(--surface-2)}.uri-gantt .li .bar{width:3px;align-self:stretch;border-radius:3px;flex:none}.uri-gantt .li .t{font-weight:500}.uri-gantt .li .meta{font-size:12px;color:var(--muted)}.uri-gantt .li .right{margin-inline-start:auto;display:flex;align-items:center;gap:8px;flex:none}.uri-gantt .li-date{width:46px;flex:none;text-align:center;border-radius:9px;background:var(--surface-2);padding:5px 0;line-height:1.05}.uri-gantt .li-date b{display:block;font-size:17px;font-weight:800}.uri-gantt .li-date span{font-size:10.5px;text-transform:uppercase;color:var(--muted);letter-spacing:.06em}.uri-gantt .li-date.today{background:var(--charcoal);color:#fff}.uri-gantt .li-date.today span{color:var(--gold)}.uri-gantt .empty{text-align:center;color:var(--muted);padding:22px 12px;font-size:13px}.uri-gantt .empty svg{width:22px;height:22px;display:block;margin:0 auto 6px;color:#c8c2b8}.uri-gantt .empty.big{padding:60px 20px}.uri-gantt .empty.big h3{color:var(--text);font-size:16px;margin-bottom:4px}.uri-gantt .check{width:18px;height:18px;border-radius:6px;border:1.5px solid #c9c3b9;background:#fff;flex:none;display:inline-flex;align-items:center;justify-content:center;padding:0;color:#fff;transition:all .15s}.uri-gantt .check:hover{border-color:var(--gold)}.uri-gantt .check.on{background:var(--success);border-color:var(--success)}.uri-gantt .check svg{width:12px;height:12px}.uri-gantt .check.round{border-radius:50%}.uri-gantt .badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;background:var(--surface-3);color:var(--text-2)}.uri-gantt .badge .dot{width:7px;height:7px}.uri-gantt .dot{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block}.uri-gantt .prio{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600}.uri-gantt .prio svg{width:13px;height:13px}.uri-gantt .avatar{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;flex:none;letter-spacing:.02em;border:2px solid var(--surface)}.uri-gantt .avatar.lg{width:44px;height:44px;font-size:15px}.uri-gantt .avatar.xl{width:64px;height:64px;font-size:21px}.uri-gantt .avatar.sm{width:22px;height:22px;font-size:9.5px;border-width:1.5px}.uri-gantt .avatar.empty{background:var(--surface-3);color:var(--muted);border-style:dashed;border-color:#cfc9bf}.uri-gantt .avatar-stack{display:inline-flex}.uri-gantt .avatar-stack .avatar+.avatar{margin-inline-start:-8px}.uri-gantt .progress{height:6px;background:var(--surface-3);border-radius:99px;overflow:hidden}.uri-gantt .progress>i{display:block;height:100%;background:var(--charcoal);border-radius:99px;transition:width .3s}.uri-gantt .progress.gold>i{background:var(--gold)}.uri-gantt .progress.thin{height:4px}.uri-gantt .legend{display:flex;flex-wrap:wrap;gap:6px}.uri-gantt .legend button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-strong);background:var(--surface);border-radius:999px;height:26px;padding-block:0;padding-inline:8px 10px;font-size:12px;color:var(--text-2)}.uri-gantt .legend button.off{opacity:.45;text-decoration:line-through}.uri-gantt .legend button:hover{border-color:#cfc8bd}.uri-gantt .field{display:flex;flex-direction:column;gap:5px;min-width:0}.uri-gantt .field>label,.uri-gantt .field-label{font-size:12px;font-weight:600;color:var(--text-2)}.uri-gantt .input,.uri-gantt .select,.uri-gantt .textarea{height:36px;width:100%;border:1px solid var(--border-strong);background:var(--surface);border-radius:9px;padding:0 11px;outline:none;transition:border-color .15s,box-shadow .15s;min-width:0}.uri-gantt .textarea{height:auto;min-height:84px;padding:9px 11px;resize:vertical;line-height:1.5}.uri-gantt .input:focus,.uri-gantt .select:focus,.uri-gantt .textarea:focus{border-color:var(--gold);box-shadow:var(--focus)}.uri-gantt .select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238d8880' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.uri-gantt .input.ghost{border-color:transparent;background:transparent;padding:0;height:auto}.uri-gantt .input.ghost:focus{box-shadow:none}.uri-gantt .title-input{font-size:22px;font-weight:800;letter-spacing:-.02em;border:0;outline:none;width:100%;background:transparent;padding:2px 0}.uri-gantt .title-input::-moz-placeholder{color:#c3bdb3}.uri-gantt .title-input::placeholder{color:#c3bdb3}.uri-gantt .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.uri-gantt .grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.uri-gantt .toggle{position:relative;width:36px;height:20px;border-radius:99px;background:#d9d4cb;border:0;padding:0;flex:none;transition:background .15s}.uri-gantt .toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s}.uri-gantt .toggle.on{background:var(--olive)}.uri-gantt .toggle.on:after{transform:translate(16px)}.uri-gantt input[type=range]{accent-color:var(--charcoal);width:100%}.uri-gantt input[type=color]{width:34px;height:34px;padding:0;border:1px solid var(--border-strong);border-radius:8px;background:none;cursor:pointer}.uri-gantt .pop{position:fixed;z-index:120;background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;box-shadow:var(--shadow-3);padding:6px;min-width:200px;max-height:min(420px,70vh);overflow:auto;animation:ug-pop .12s ease-out}@keyframes ug-pop{0%{opacity:0;transform:translateY(-4px) scale(.98)}}.uri-gantt .menu-item{display:flex;align-items:center;gap:9px;width:100%;border:0;background:transparent;padding:7px 9px;border-radius:7px;text-align:start;font-size:13.5px;color:var(--text)}.uri-gantt .menu-item:hover,.uri-gantt .menu-item.hl{background:var(--surface-2)}.uri-gantt .menu-item svg{width:15px;height:15px;color:var(--text-2);flex:none}.uri-gantt .menu-item.danger,.uri-gantt .menu-item.danger svg{color:var(--danger)}.uri-gantt .menu-item .tick{margin-inline-start:auto;color:var(--olive)}.uri-gantt .menu-sep{height:1px;background:var(--border);margin:5px 4px}.uri-gantt .menu-title{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding:8px 9px 4px;font-weight:600}.uri-gantt .prop{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 10px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text);max-width:100%;min-width:0;text-align:start}.uri-gantt .prop:hover{background:var(--surface-2);border-color:var(--border)}.uri-gantt .prop.boxed{border-color:var(--border-strong);background:var(--surface);width:100%;height:36px}.uri-gantt .prop.boxed:hover{border-color:#d3cdc3}.uri-gantt .prop .placeholder{color:var(--muted)}.uri-gantt .prop svg.chev{width:13px;height:13px;margin-inline-start:auto;color:var(--muted);flex:none}.uri-gantt .scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1c1c47;z-index:90;animation:ug-fade .15s}@keyframes ug-fade{0%{opacity:0}}.uri-gantt .drawer{position:fixed;top:0;inset-inline-end:0;bottom:0;width:min(560px,100vw);background:var(--surface);z-index:100;box-shadow:var(--shadow-3);display:flex;flex-direction:column;animation:ug-slide .22s cubic-bezier(.2,.8,.2,1)}@keyframes ug-slide{0%{transform:translate(-40px);opacity:0}}.uri-gantt [dir=ltr] .drawer{animation-name:ug-slide-ltr}@keyframes ug-slide-ltr{0%{transform:translate(40px);opacity:0}}.uri-gantt .drawer-head{display:flex;align-items:center;gap:6px;padding:12px 14px 12px 22px;border-bottom:1px solid var(--border)}.uri-gantt .drawer-head .kind{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--gold-ink);font-weight:600;display:flex;align-items:center;gap:8px}.uri-gantt .drawer-body{flex:1;overflow:auto;padding:18px 22px 28px;display:flex;flex-direction:column;gap:16px}.uri-gantt .drawer-foot{border-top:1px solid var(--border);padding:12px 18px;display:flex;gap:8px;align-items:center;background:var(--bg)}.uri-gantt .props{display:grid;grid-template-columns:128px 1fr;align-items:center;gap:2px 8px}.uri-gantt .props>.k{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:8px;height:34px}.uri-gantt .props>.k svg{width:15px;height:15px}.uri-gantt .props>.v{min-width:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:34px}.uri-gantt .props .v .input,.uri-gantt .props .v .select{height:32px}.uri-gantt .section-title{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:600;display:flex;align-items:center;gap:8px;margin-bottom:4px}.uri-gantt .tabs{display:flex;gap:2px;border-bottom:1px solid var(--border)}.uri-gantt .tabs button{border:0;background:none;padding:9px 12px;font-weight:500;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;gap:6px;align-items:center}.uri-gantt .tabs button.on{color:var(--text);border-bottom-color:var(--charcoal)}.uri-gantt .tabs button:hover{color:var(--text)}.uri-gantt .tabs button .n{font-size:11px;background:var(--surface-3);border-radius:99px;padding:0 6px}.uri-gantt .link-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;border:1px solid var(--border)}.uri-gantt .link-row a{color:var(--text);text-decoration:none;font-weight:500}.uri-gantt .link-row a:hover{text-decoration:underline}.uri-gantt .link-row svg{width:15px;height:15px;color:var(--muted);flex:none}.uri-gantt .hist{display:flex;gap:10px;font-size:12.5px;padding:6px 0;border-bottom:1px dashed var(--border)}.uri-gantt .hist:last-child{border-bottom:0}.uri-gantt .hist .when{color:var(--muted);flex:none;width:92px}.uri-gantt .modal-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:flex;align-items:flex-start;justify-content:center;padding:10vh 16px 16px}.uri-gantt .modal{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-3);width:min(560px,100%);overflow:hidden;animation:ug-pop .15s ease-out;display:flex;flex-direction:column;max-height:80vh}.uri-gantt .modal-head{padding:16px 20px 6px;font-weight:700;font-size:16px}.uri-gantt .modal-body{padding:10px 20px 18px;overflow:auto;display:flex;flex-direction:column;gap:12px}.uri-gantt .modal-foot{padding:12px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px;background:var(--bg)}.uri-gantt .cmd{width:min(640px,100%)}.uri-gantt .cmd-input{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border)}.uri-gantt .cmd-input svg{width:18px;height:18px;color:var(--muted)}.uri-gantt .cmd-input input{border:0;outline:none;font-size:16px;flex:1;background:transparent}.uri-gantt .cmd-list{overflow:auto;padding:6px;max-height:56vh}.uri-gantt .cmd-group{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding:10px 10px 4px;font-weight:600}.uri-gantt .cmd-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;cursor:pointer}.uri-gantt .cmd-item.hl{background:var(--surface-2)}.uri-gantt .cmd-item svg{width:16px;height:16px;color:var(--text-2);flex:none}.uri-gantt .cmd-item .meta{margin-inline-start:auto;font-size:12px;color:var(--muted);white-space:nowrap}.uri-gantt .notif-panel{position:fixed;top:calc(var(--topbar-h) - 6px);inset-inline-end:16px;width:min(400px,calc(100vw - 32px));z-index:105;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-3);display:flex;flex-direction:column;max-height:75vh;animation:ug-pop .15s ease-out}.uri-gantt .notif-panel header{display:flex;align-items:center;gap:8px;padding:14px 16px 10px;border-bottom:1px solid var(--border)}.uri-gantt .notif-panel header b{font-size:15px}.uri-gantt .notif-list{overflow:auto;padding:6px}.uri-gantt .notif{display:flex;gap:10px;padding:10px;border-radius:10px;cursor:pointer;position:relative}.uri-gantt .notif:hover{background:var(--surface-2)}.uri-gantt .notif .ic{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex:none}.uri-gantt .notif .ic svg{width:15px;height:15px}.uri-gantt .notif .t{font-weight:500;font-size:13.5px}.uri-gantt .notif .m{font-size:12px;color:var(--muted)}.uri-gantt .notif.unread:after{content:"";position:absolute;inset-inline-end:10px;top:14px;width:7px;height:7px;background:var(--gold);border-radius:50%}.uri-gantt .toasts{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.uri-gantt .toast{pointer-events:auto;background:var(--charcoal);color:#f4f1ea;border-radius:11px;padding:10px 12px 10px 16px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-3);font-size:13.5px;animation:ug-pop .18s ease-out}.uri-gantt .toast.error{background:#8c2a25}.uri-gantt .toast button{background:transparent;border:0;color:var(--gold);font-weight:600;padding:4px 6px;border-radius:6px}.uri-gantt .toast button:hover{background:#ffffff14}.uri-gantt .filterbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.uri-gantt .fchip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:8px;border:1px dashed #cfc8bc;background:transparent;font-size:13px;color:var(--text-2)}.uri-gantt .fchip:hover{border-color:#b9b1a4;color:var(--text);background:var(--surface)}.uri-gantt .fchip.on{border-style:solid;border-color:var(--charcoal);background:var(--charcoal);color:#fff}.uri-gantt .fchip svg{width:14px;height:14px}.uri-gantt .fchip .x{opacity:.7;margin-inline-end:-4px}.uri-gantt .tbl{width:100%;border-collapse:separate;border-spacing:0}.uri-gantt .tbl th{text-align:start;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:10px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1;white-space:nowrap}.uri-gantt .tbl th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.uri-gantt .tbl th.sortable:hover{color:var(--text)}.uri-gantt .tbl td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.uri-gantt .tbl tr:last-child td{border-bottom:0}.uri-gantt .tbl tbody tr{cursor:pointer;transition:background .1s}.uri-gantt .tbl tbody tr:hover td{background:#fcfbf8}.uri-gantt .tbl tbody tr:hover .row-actions{opacity:1}.uri-gantt .tbl .ttl{font-weight:500}.uri-gantt .tbl .done .ttl{text-decoration:line-through;color:var(--muted)}.uri-gantt .row-actions{opacity:0;display:flex;gap:2px;justify-content:flex-end;transition:opacity .1s}.uri-gantt .group-row td{background:var(--bg)!important;font-weight:600;font-size:12.5px;color:var(--text-2);cursor:default;padding-top:14px}.uri-gantt .due.over{color:var(--danger);font-weight:600}.uri-gantt .due.soon{color:#b36b1e;font-weight:600}.uri-gantt .board{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:14px;align-items:start}.uri-gantt .board-col{background:var(--surface-2);border-radius:var(--r-lg);padding:10px;min-height:120px;border:1px solid transparent;transition:border-color .15s,background .15s}.uri-gantt .board-col.over{border-color:var(--gold);background:var(--gold-soft)}.uri-gantt .board-col h3{font-size:13px;display:flex;align-items:center;gap:8px;padding:4px 6px 10px}.uri-gantt .board-col h3 .n{color:var(--muted);font-weight:500}.uri-gantt .kcard{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:11px 12px;margin-bottom:8px;cursor:grab;box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:8px}.uri-gantt .kcard:hover{box-shadow:var(--shadow-2)}.uri-gantt .kcard .t{font-weight:500}.uri-gantt .kcard.dragging{opacity:.4}.uri-gantt .proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.uri-gantt .proj-card{padding:18px;display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:box-shadow .15s,transform .15s;position:relative;overflow:hidden}.uri-gantt .proj-card:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.uri-gantt .proj-card .stripe{position:absolute;inset-inline-start:0;top:0;bottom:0;width:4px}.uri-gantt .proj-card h3{font-size:16px;font-weight:700}.uri-gantt .proj-card p{margin:0;color:var(--muted);font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px}.uri-gantt .kv{display:flex;gap:18px;font-size:12.5px;color:var(--muted)}.uri-gantt .kv b{color:var(--text);font-weight:600}.uri-gantt .team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.uri-gantt .member-card{padding:18px;display:flex;flex-direction:column;gap:14px;cursor:pointer;transition:box-shadow .15s}.uri-gantt .member-card:hover{box-shadow:var(--shadow-2)}.uri-gantt .gantt{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--surface)}.uri-gantt .gantt-toolbar{display:flex;align-items:center;gap:8px;padding:10px 24px;border-bottom:1px solid var(--border);flex-wrap:wrap;background:var(--bg)}.uri-gantt .gantt-body{flex:1;min-height:0;overflow:auto;position:relative}.uri-gantt .gantt-grid{position:relative;display:grid}.uri-gantt .g-side{position:sticky;left:0;z-index:6;background:var(--surface);border-right:1px solid var(--border)}.uri-gantt .g-side-head{position:sticky;top:0;z-index:8;background:var(--surface);height:56px;border-bottom:1px solid var(--border);display:flex;align-items:flex-end;padding:0 14px 8px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);gap:8px}.uri-gantt .g-row-label{height:44px;display:flex;align-items:center;gap:8px;padding:0 10px 0 14px;border-bottom:1px solid #f3f0ea;cursor:pointer;min-width:0}.uri-gantt .g-row-label:hover{background:var(--surface-2)}.uri-gantt .g-row-label .t{font-size:13px;font-weight:500}.uri-gantt .g-row-label .pct{font-size:11.5px;color:var(--muted);width:34px;text-align:right;flex:none}.uri-gantt .g-row-label .acts{display:none;gap:0}.uri-gantt .g-row-label:hover .acts{display:flex}.uri-gantt .g-row-label:hover .pct{display:none}.uri-gantt .g-group{height:34px;display:flex;align-items:center;gap:8px;padding:0 14px;font-size:12px;font-weight:700;color:var(--text-2);background:var(--bg);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.06em}.uri-gantt .g-group .n{color:var(--muted);font-weight:500}.uri-gantt .g-head{position:sticky;top:0;z-index:5;background:var(--surface);height:56px;border-bottom:1px solid var(--border)}.uri-gantt .g-head .m{position:absolute;top:0;height:26px;display:flex;align-items:center;padding-left:8px;font-size:12px;font-weight:700;border-left:1px solid var(--border);white-space:nowrap;overflow:hidden}.uri-gantt .g-head .dcell{position:absolute;top:26px;height:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;color:var(--muted);border-left:1px solid #f1eee8;line-height:1.1}.uri-gantt .g-head .dcell b{font-size:12px;color:var(--text-2);font-weight:600}.uri-gantt .g-head .dcell.today b{background:var(--charcoal);color:#fff;border-radius:5px;padding:0 4px}.uri-gantt .g-head .dcell.we{background:#fbfaf7}.uri-gantt .g-canvas{position:relative}.uri-gantt .g-lane{height:44px;border-bottom:1px solid #f3f0ea;position:relative}.uri-gantt .g-lane.grp{height:34px;background:var(--bg);border-bottom-color:var(--border)}.uri-gantt .g-we{position:absolute;top:0;bottom:0;background:#fbfaf6;pointer-events:none}.uri-gantt .g-vline{position:absolute;top:0;bottom:0;width:1px;background:#f3f0ea;pointer-events:none}.uri-gantt .g-today{position:absolute;top:0;bottom:0;width:2px;background:var(--danger);z-index:3;pointer-events:none}.uri-gantt .g-today:before{content:"";position:absolute;top:-1px;left:-4px;width:10px;height:10px;border-radius:50%;background:var(--danger)}.uri-gantt .g-bar{position:absolute;top:9px;height:26px;border-radius:7px;display:flex;align-items:center;z-index:2;font-size:12px;font-weight:600;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:visible;box-shadow:0 1px 2px #00000014;transition:box-shadow .12s,filter .12s}.uri-gantt .g-bar:hover{box-shadow:0 4px 12px -2px #0000002e;z-index:4}.uri-gantt .g-bar.dragging{cursor:grabbing;box-shadow:0 8px 20px -4px #00000040;z-index:6;opacity:.95}.uri-gantt .g-bar .fill{position:absolute;left:0;top:0;bottom:0;border-radius:7px 0 0 7px;background:#00000029;pointer-events:none}.uri-gantt .g-bar .lbl{position:relative;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.uri-gantt .g-bar .lbl-out{position:absolute;left:calc(100% + 8px);white-space:nowrap;color:var(--text-2);font-weight:500;pointer-events:none}.uri-gantt .g-bar .h{position:absolute;top:0;bottom:0;width:9px;cursor:ew-resize;z-index:2}.uri-gantt .g-bar .h.l{left:-2px}.uri-gantt .g-bar .h.r{right:-2px}.uri-gantt .g-bar .h:after{content:"";position:absolute;top:7px;bottom:7px;left:3px;width:3px;border-radius:2px;background:#ffffffbf;opacity:0}.uri-gantt .g-bar:hover .h:after{opacity:1}.uri-gantt .g-bar .link-dot{position:absolute;right:-16px;top:7px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--charcoal);opacity:0;cursor:crosshair;z-index:3}.uri-gantt .g-bar:hover .link-dot{opacity:1}.uri-gantt .g-bar.done{opacity:.62}.uri-gantt .g-bar.milestone{width:18px!important;height:18px;top:13px;transform:rotate(45deg);border-radius:4px}.uri-gantt .g-bar.milestone .lbl,.uri-gantt .g-bar.milestone .h,.uri-gantt .g-bar.milestone .fill{display:none}.uri-gantt .g-bar.milestone .lbl-out{transform:rotate(-45deg);transform-origin:left center;left:24px;top:-2px}.uri-gantt .g-tip{position:fixed;z-index:130;background:var(--charcoal);color:#fff;font-size:12px;padding:6px 9px;border-radius:7px;pointer-events:none;white-space:nowrap;box-shadow:var(--shadow-2)}.uri-gantt .g-deps{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;overflow:visible}.uri-gantt .g-deps path{fill:none;stroke:#a9a298;stroke-width:1.5}.uri-gantt .g-deps path.hot{stroke:var(--charcoal);stroke-width:2;stroke-dasharray:4 3}.uri-gantt .g-add-hint{position:absolute;top:9px;height:26px;border-radius:7px;border:1.5px dashed #cfc8bc;pointer-events:none;z-index:1}.uri-gantt .cal{flex:1;min-height:0;display:grid;grid-template-columns:248px 1fr}.uri-gantt .cal-side{border-inline-end:1px solid var(--border);padding:16px;overflow:auto;display:flex;flex-direction:column;gap:18px;background:var(--bg)}.uri-gantt .cal-main{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--surface)}.uri-gantt .cal-toolbar{display:flex;align-items:center;gap:8px;padding:12px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}.uri-gantt .cal-toolbar h2{font-size:19px;font-weight:800;letter-spacing:-.02em;margin:0 8px;min-width:150px}.uri-gantt .mini{-webkit-user-select:none;-moz-user-select:none;user-select:none}.uri-gantt .mini-head{display:flex;align-items:center;margin-bottom:6px}.uri-gantt .mini-head b{font-size:13px;flex:1}.uri-gantt .mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;text-align:center}.uri-gantt .mini-grid .dw{font-size:10.5px;color:var(--muted);padding:3px 0}.uri-gantt .mini-grid button{border:0;background:transparent;height:28px;border-radius:7px;font-size:12px;color:var(--text);position:relative}.uri-gantt .mini-grid button:hover{background:var(--surface-3)}.uri-gantt .mini-grid button.out{color:#c3bdb3}.uri-gantt .mini-grid button.sel{background:var(--surface-3);font-weight:700}.uri-gantt .mini-grid button.today{background:var(--charcoal);color:#fff;font-weight:700}.uri-gantt .mini-grid button.has:after{content:"";position:absolute;bottom:3px;left:50%;width:3px;height:3px;margin-left:-1.5px;border-radius:50%;background:var(--gold)}.uri-gantt .side-list{display:flex;flex-direction:column;gap:2px}.uri-gantt .side-list label{display:flex;align-items:center;gap:9px;padding:5px 6px;border-radius:7px;cursor:pointer;font-size:13px}.uri-gantt .side-list label:hover{background:var(--surface-3)}.uri-gantt .side-list input{display:none}.uri-gantt .side-list .sw{width:14px;height:14px;border-radius:4px;border:2px solid;flex:none;display:flex;align-items:center;justify-content:center;color:#fff}.uri-gantt .side-list .sw svg{width:10px;height:10px}.uri-gantt .tg{flex:1;min-height:0;display:flex;flex-direction:column}.uri-gantt .tg-head{display:grid;border-bottom:1px solid var(--border);flex:none}.uri-gantt .tg-dayhead{padding:8px 6px 6px;text-align:center;border-inline-start:1px solid var(--border);cursor:pointer}.uri-gantt .tg-dayhead:hover{background:var(--bg)}.uri-gantt .tg-dayhead .dw{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600}.uri-gantt .tg-dayhead .dn{font-size:22px;font-weight:700;line-height:1.2;display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:50%}.uri-gantt .tg-dayhead.today .dn{background:var(--charcoal);color:#fff}.uri-gantt .tg-dayhead.today .dw{color:var(--gold-ink)}.uri-gantt .tg-allday{display:grid;border-bottom:1px solid var(--border);flex:none;max-height:120px;overflow:auto}.uri-gantt .tg-allday .lab{font-size:10.5px;color:var(--muted);text-align:end;padding:6px 8px}.uri-gantt .tg-allday .cell{border-inline-start:1px solid var(--border);padding:3px;min-height:30px;display:flex;flex-direction:column;gap:2px}.uri-gantt .tg-scroll{flex:1;min-height:0;overflow:auto;position:relative}.uri-gantt .tg-body{display:grid;position:relative}.uri-gantt .tg-hours{position:relative}.uri-gantt .tg-hours div{position:absolute;inset-inline-end:8px;font-size:11px;color:var(--muted);transform:translateY(-50%)}.uri-gantt .tg-col{position:relative;border-inline-start:1px solid var(--border)}.uri-gantt .tg-col.today{background:#fdfcf9}.uri-gantt .tg-slot{position:absolute;left:0;right:0;border-top:1px solid #f1eee8;pointer-events:none}.uri-gantt .tg-slot.half{border-top-style:dashed;border-top-color:#f6f4ef}.uri-gantt .tg-now{position:absolute;left:-1px;right:0;height:2px;background:var(--danger);z-index:5;pointer-events:none}.uri-gantt .tg-now:before{content:"";position:absolute;inset-inline-start:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--danger)}.uri-gantt .tg-sel{position:absolute;left:4px;right:4px;background:#c9a87040;border:1.5px solid var(--gold);border-radius:7px;z-index:4;pointer-events:none;font-size:11.5px;padding:3px 6px;font-weight:600;color:var(--gold-ink)}.uri-gantt .ev{position:absolute;border-radius:7px;padding:3px 7px;font-size:12px;overflow:hidden;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:2;border-inline-start:3px solid;line-height:1.3;transition:box-shadow .12s}.uri-gantt .ev:hover{box-shadow:0 4px 14px -4px #00000040;z-index:3}.uri-gantt .ev.dragging{opacity:.9;box-shadow:0 10px 24px -6px #00000059;z-index:6;cursor:grabbing}.uri-gantt .ev .et{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.uri-gantt .ev .em{opacity:.8;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.uri-gantt .ev .rs{position:absolute;left:0;right:0;bottom:0;height:7px;cursor:ns-resize}.uri-gantt .ev.task{border-inline-start-style:dashed}.uri-gantt .ev.cancelled .et{text-decoration:line-through}.uri-gantt .chip-ev{display:flex;align-items:center;gap:5px;border-radius:5px;padding:1px 6px;font-size:11.5px;white-space:nowrap;overflow:hidden;cursor:pointer;min-height:20px;flex:none}.uri-gantt .chip-ev:hover{filter:brightness(.96)}.uri-gantt .chip-ev .tm{opacity:.75;font-variant-numeric:tabular-nums}.uri-gantt .chip-ev .t{overflow:hidden;text-overflow:ellipsis;font-weight:500}.uri-gantt .chip-ev.solid{color:#fff}.uri-gantt .chip-ev.dragging{opacity:.4}.uri-gantt .month{flex:1;min-height:0;display:flex;flex-direction:column}.uri-gantt .month-dow{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border)}.uri-gantt .month-dow div{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600;padding:8px 10px}.uri-gantt .month-grid{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(108px,1fr);min-height:0;overflow:auto}.uri-gantt .mcell{border-inline-end:1px solid var(--border);border-bottom:1px solid var(--border);padding:4px 5px;display:flex;flex-direction:column;gap:2px;min-width:0;overflow:hidden;cursor:default}.uri-gantt .mcell:nth-child(7n){border-inline-end:0}.uri-gantt .mcell.out{background:#fcfbf9}.uri-gantt .mcell.out .mnum{color:#c3bdb3}.uri-gantt .mcell.over{background:var(--gold-soft)}.uri-gantt .mcell .mnum{font-size:12.5px;font-weight:600;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;flex:none}.uri-gantt .mcell .mnum:hover{background:var(--surface-3)}.uri-gantt .mcell.today .mnum{background:var(--charcoal);color:#fff}.uri-gantt .mcell .more{font-size:11.5px;color:var(--text-2);font-weight:600;padding:1px 6px;border:0;background:none;text-align:start;border-radius:5px}.uri-gantt .mcell .more:hover{background:var(--surface-3)}.uri-gantt .year{flex:1;overflow:auto;padding:20px 24px;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px 28px;align-content:start}.uri-gantt .year h4{font-size:13.5px;font-weight:700;margin-bottom:6px;cursor:pointer}.uri-gantt .year h4:hover{color:var(--gold-ink)}.uri-gantt .ymini{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.uri-gantt .ymini span{font-size:10px;color:var(--muted);text-align:center}.uri-gantt .ymini button{border:0;height:26px;border-radius:6px;font-size:11.5px;background:transparent;position:relative}.uri-gantt .ymini button:hover{outline:1px solid var(--border-strong)}.uri-gantt .ymini button.l1{background:#f3ecdf}.uri-gantt .ymini button.l2{background:#e7d8bb}.uri-gantt .ymini button.l3{background:#d4bb8c}.uri-gantt .ymini button.l4{background:var(--gold);color:var(--charcoal);font-weight:700}.uri-gantt .ymini button.today{background:var(--charcoal);color:#fff;font-weight:700}.uri-gantt .agenda{flex:1;overflow:auto;padding:8px 24px 40px}.uri-gantt .ag-day{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}.uri-gantt .ag-day .dl b{display:block;font-size:22px;font-weight:800;letter-spacing:-.02em}.uri-gantt .ag-day .dl span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.uri-gantt .ag-day.today .dl b{color:var(--gold-ink)}.uri-gantt .ag-items{display:flex;flex-direction:column;gap:4px}.uri-gantt .ag-item{display:grid;grid-template-columns:110px 4px 1fr auto;gap:12px;align-items:center;padding:8px 10px;border-radius:10px;cursor:pointer}.uri-gantt .ag-item:hover{background:var(--surface-2)}.uri-gantt .ag-item .tm{font-size:12.5px;color:var(--text-2);font-variant-numeric:tabular-nums}.uri-gantt .ag-item .bar{height:100%;min-height:28px;border-radius:3px}.uri-gantt .settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.uri-gantt .cat-row{display:flex;align-items:center;gap:10px;padding:6px 4px;border-bottom:1px solid var(--border)}.uri-gantt .cat-row:last-child{border-bottom:0}.uri-gantt .swatches{display:grid;grid-template-columns:repeat(8,24px);gap:6px;padding:6px}.uri-gantt .swatches button{width:24px;height:24px;border-radius:7px;border:2px solid transparent;padding:0}.uri-gantt .swatches button.on{border-color:var(--charcoal);box-shadow:inset 0 0 0 2px #fff}.uri-gantt .color-btn{width:26px;height:26px;border-radius:8px;border:2px solid #fff;box-shadow:0 0 0 1px var(--border-strong);padding:0;flex:none}.uri-gantt .bars{display:flex;align-items:flex-end;gap:10px;height:150px;padding-top:8px}.uri-gantt .bars .b{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;height:100%;justify-content:flex-end}.uri-gantt .bars .stack{width:100%;max-width:34px;display:flex;flex-direction:column-reverse;border-radius:6px;overflow:hidden;background:var(--surface-2);min-height:4px}.uri-gantt .bars .stack i{display:block}.uri-gantt .bars .b span{font-size:11px;color:var(--muted)}.uri-gantt .bars .b.today span{color:var(--text);font-weight:700}.uri-gantt .bars .v{font-size:11px;font-weight:600;color:var(--text-2)}.uri-gantt .legend-inline{display:flex;gap:14px;font-size:12px;color:var(--muted);align-items:center}.uri-gantt .legend-inline i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-inline-end:5px;vertical-align:-1px}.uri-gantt .login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.uri-gantt .login-art{background:var(--charcoal);color:var(--offwhite);padding:48px;display:flex;flex-direction:column;justify-content:space-between}.uri-gantt .login-art svg{width:70%;max-width:420px;color:var(--offwhite)}.uri-gantt .login-art blockquote{margin:0;font-size:22px;font-weight:300;line-height:1.4;max-width:460px}.uri-gantt .login-art blockquote b{color:var(--gold);font-weight:700}.uri-gantt .login-form{display:flex;align-items:center;justify-content:center;padding:32px;background:var(--cream)}.uri-gantt .login-form form{width:min(380px,100%);display:flex;flex-direction:column;gap:14px}.uri-gantt .login-form h1{font-size:26px;font-weight:800}.uri-gantt .boot{height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;color:var(--muted)}.uri-gantt .boot svg{width:120px;color:var(--charcoal);animation:ug-pulse 1.4s infinite}@media (max-width: 1280px){.uri-gantt .stats{grid-template-columns:repeat(3,minmax(0,1fr))}.uri-gantt .span-3,.uri-gantt .span-4{grid-column:span 6}.uri-gantt .span-5,.uri-gantt .span-7{grid-column:span 12}}@media (max-width: 1024px){.uri-gantt .cal{grid-template-columns:1fr}.uri-gantt .cal-side{display:none}.uri-gantt .settings-grid{grid-template-columns:1fr}.uri-gantt .span-6,.uri-gantt .span-8,.uri-gantt .span-4,.uri-gantt .span-3{grid-column:span 12}}@media (max-width: 860px){.uri-gantt .app{grid-template-columns:1fr}.uri-gantt .sidebar{position:fixed;top:0;bottom:0;inset-inline-start:0;width:270px;transform:translate(100%);transition:transform .22s;box-shadow:var(--shadow-3)}.uri-gantt .sidebar.open{transform:none}.uri-gantt .mobile-only{display:inline-flex!important}.uri-gantt .desktop-only{display:none!important}.uri-gantt .page{padding:16px 14px 90px}.uri-gantt .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.uri-gantt .stat .val{font-size:24px}.uri-gantt .topbar{padding:0 10px}.uri-gantt .searchbox kbd{display:none}.uri-gantt .view-head,.uri-gantt .gantt-toolbar,.uri-gantt .cal-toolbar{padding-left:14px;padding-right:14px}.uri-gantt .board{grid-template-columns:repeat(4,82vw);overflow-x:auto}.uri-gantt .props{grid-template-columns:104px 1fr}.uri-gantt .grid-3{grid-template-columns:1fr 1fr}.uri-gantt .login{grid-template-columns:1fr}.uri-gantt .login-art,.uri-gantt .tbl .hide-sm{display:none}.uri-gantt .ag-day{grid-template-columns:70px 1fr}.uri-gantt .ag-item{grid-template-columns:80px 4px 1fr}.uri-gantt .ag-item>:last-child{display:none}.uri-gantt .fab{position:fixed;inset-inline-end:18px;bottom:18px;z-index:50;width:54px;height:54px;border-radius:50%;box-shadow:var(--shadow-3)}}@media (min-width: 861px){.uri-gantt .fab{display:none!important}}@media (prefers-reduced-motion: reduce){.uri-gantt,.uri-gantt *{animation:none!important;transition:none!important}}.uri-gantt [dir=rtl] .select{padding-right:11px;padding-left:30px;background-position:left 10px center}.uri-gantt [dir=rtl] .toggle:after{left:auto;right:2px}.uri-gantt [dir=rtl] .toggle.on:after{transform:translate(-16px)}.uri-gantt [dir=rtl] .page-head .eyebrow,.uri-gantt [dir=rtl] .hero .date,.uri-gantt [dir=rtl] .sb-section,.uri-gantt [dir=rtl] .section-title,.uri-gantt [dir=rtl] .menu-title,.uri-gantt [dir=rtl] .cmd-group{letter-spacing:.02em}.uri-gantt [dir=rtl] .g-group,.uri-gantt [dir=rtl] .g-side-head,.uri-gantt [dir=rtl] .tbl th,.uri-gantt [dir=rtl] .month-dow div,.uri-gantt [dir=rtl] .tg-dayhead .dw{letter-spacing:.01em}.uri-gantt .gantt{direction:ltr}.uri-gantt .gantt-toolbar,.uri-gantt .g-side,.uri-gantt .g-side-head,.uri-gantt .g-row-label,.uri-gantt .g-group{direction:rtl}.uri-gantt input[type=date],.uri-gantt input[type=time]{direction:ltr;text-align:end}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.\!hidden{display:none!important}.hidden{display:none}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-all{word-break:break-all}.border{border-width:1px}.uppercase{text-transform:uppercase}.line-through{text-decoration-line:line-through}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}*{box-sizing:border-box}body{margin:0;font-family:Heebo,sans-serif;background-color:#f5f2ec;color:#edebe6;direction:rtl}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f5f2ec}::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:3px}
