:root{--ppp-purple:#6f3cc3;--ppp-purple-dark:#5a2cab;--ppp-bg:#f6f3fb;--ppp-card:#ffffff;--ppp-border:#e4dcf3;--ppp-text:#221a31;--ppp-muted:#6e6483;--ppp-danger:#ad2c4e}
.ppp-shell{max-width:1200px;margin:0 auto;padding:20px;color:var(--ppp-text);font-family:Arial,Helvetica,sans-serif}
.ppp-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;background:linear-gradient(135deg,#ffffff 0%,#faf7ff 100%);border:1px solid var(--ppp-border);border-radius:20px;padding:18px 20px;margin-bottom:18px;box-shadow:0 10px 28px rgba(83,40,158,.10)}
.ppp-brand{display:flex;gap:16px;align-items:center}.ppp-logo{width:auto;height:72px;max-width:220px;object-fit:contain;border-radius:0;box-shadow:none;display:block}.ppp-site-title{font-size:12px;color:var(--ppp-purple);text-transform:uppercase;letter-spacing:.10em;font-weight:800}.ppp-page-title{font-size:30px;font-weight:800;color:#201531;line-height:1.05}
.ppp-nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.ppp-nav-link,.ppp-btn{background:var(--ppp-purple);color:#fff;text-decoration:none;border:none;border-radius:999px;padding:10px 14px;font-weight:700;cursor:pointer;display:inline-block;box-shadow:0 8px 18px rgba(111,60,195,.14)}.ppp-nav-link:hover,.ppp-btn:hover{background:var(--ppp-purple-dark)}
.ppp-btn-secondary{background:#fff;color:var(--ppp-purple);border:1px solid var(--ppp-border)}.ppp-btn-danger{background:var(--ppp-danger)}
.ppp-card{background:var(--ppp-card);border:1px solid var(--ppp-border);border-radius:18px;padding:18px;margin-bottom:18px;box-shadow:0 4px 18px rgba(83,40,158,.05)}
.ppp-notice{padding:12px 14px;border-radius:12px;margin-bottom:16px;font-weight:600}.ppp-notice-success{background:#edf8ef;color:#215c2a}.ppp-notice-error{background:#fff0f3;color:#91233f}
.ppp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ppp-form-grid label{display:block;font-size:13px;font-weight:700;margin-bottom:5px}.ppp-form-grid input[type=text],.ppp-form-grid input[type=email],.ppp-form-grid input[type=password],.ppp-form-grid input[type=date],.ppp-form-grid select,.ppp-form-grid textarea{width:100%;padding:10px 12px;border:1px solid var(--ppp-border);border-radius:12px;background:#fff;box-sizing:border-box}.ppp-span-2{grid-column:span 2}.ppp-span-3{grid-column:1/-1}
.ppp-checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ppp-checkbox-row{display:flex;align-items:end}.ppp-checkbox-row label{margin:0}
.ppp-filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end}.ppp-filter-actions{display:flex;gap:8px;align-items:end}
.ppp-table-wrap{overflow:auto}.ppp-table{width:100%;border-collapse:collapse}.ppp-table th,.ppp-table td{padding:12px 10px;border-bottom:1px solid var(--ppp-border);text-align:left;vertical-align:top}.ppp-table th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--ppp-muted)}
.ppp-click-row{cursor:pointer}.ppp-click-row:hover{background:var(--ppp-bg)}.ppp-subtext{font-size:12px;color:var(--ppp-muted);margin-top:4px}.ppp-collapse-toggle{background:#fff;border:2px dashed var(--ppp-border);color:var(--ppp-purple);font-weight:700;border-radius:14px;padding:12px 14px;width:100%;text-align:left;cursor:pointer}.ppp-collapsed{margin-top:14px}
.ppp-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.ppp-actions-row{display:flex;flex-wrap:wrap;gap:10px}.ppp-note{padding:12px 0;border-top:1px solid var(--ppp-border)}.ppp-note:first-child{border-top:none}.ppp-note-meta{font-size:12px;color:var(--ppp-muted);margin-bottom:4px}
summary{cursor:pointer;font-weight:700;color:var(--ppp-purple)}.ppp-inline-form{display:grid;gap:10px;padding-top:10px}

.ppp-picker-block{display:block}
.ppp-picker-search{width:100%;padding:10px 12px;border:1px solid var(--ppp-border);border-radius:12px;background:#fff;box-sizing:border-box;margin-bottom:8px}
.ppp-picker-list{max-height:190px;overflow:auto;border:1px solid var(--ppp-border);border-radius:12px;background:#fff;padding:6px}
.ppp-picker-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;margin:0}
.ppp-picker-item:hover{background:var(--ppp-bg)}
.ppp-picker-item input[type=checkbox]{width:auto;flex:0 0 auto}
.ppp-picker-item[hidden]{display:none}
.ppp-picker-meta,.ppp-field-help{font-size:12px;color:var(--ppp-muted);margin-top:6px}
.ppp-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}
.ppp-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.ppp-help-list{display:grid;gap:12px}.ppp-help-item,.ppp-help-admin-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:14px;border:1px solid var(--ppp-border);border-radius:14px;background:#fff}.ppp-help-title{font-size:16px;font-weight:700;margin-bottom:4px}.ppp-help-copy{line-height:1.6}.ppp-help-admin-list{display:grid;gap:10px;margin-top:16px}.ppp-help-admin-row form{flex:0 0 auto}.ppp-help-item .ppp-btn,.ppp-help-item .ppp-btn-secondary{white-space:nowrap}


.ppp-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:12px}
.ppp-calendar-grid-head{gap:8px;margin-top:16px}.ppp-calendar-cell-head{font-size:12px;font-weight:700;color:var(--ppp-muted);text-transform:uppercase;letter-spacing:.05em;padding:0 4px}
.ppp-calendar-cell{min-height:140px;border:1px solid var(--ppp-border);border-radius:14px;padding:10px;background:#fff;display:flex;flex-direction:column;gap:8px}.ppp-calendar-cell-muted{opacity:.7;background:#faf8fe}.ppp-calendar-cell-today{box-shadow:0 0 0 2px rgba(111,60,195,.18) inset}
.ppp-calendar-day{font-weight:700}.ppp-calendar-chip{display:block;text-decoration:none;background:var(--ppp-bg);color:var(--ppp-text);border-radius:10px;padding:6px 8px;font-size:12px}.ppp-calendar-chip:hover{background:#ede6fb}
.ppp-calendar-more{font-size:12px;color:var(--ppp-muted)}.ppp-calendar-list{display:grid;gap:12px;margin-top:16px}.ppp-calendar-list-day{border:1px solid var(--ppp-border);border-radius:14px;background:#fff;overflow:hidden}.ppp-calendar-list-head{padding:12px 14px;background:var(--ppp-bg);font-weight:700}.ppp-calendar-list-body{padding:12px 14px;display:grid;gap:8px}
.ppp-calendar-event{text-decoration:none;color:var(--ppp-text);border:1px solid var(--ppp-border);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.ppp-calendar-event:hover{background:var(--ppp-bg)}.ppp-calendar-event span{font-size:12px;color:var(--ppp-muted)}

.ppp-calendar-day-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.ppp-calendar-add,.ppp-calendar-add-inline{font-size:12px;text-decoration:none;color:var(--ppp-brand);font-weight:700}.ppp-calendar-add{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--ppp-border);border-radius:999px;background:var(--ppp-bg)}.ppp-calendar-add:hover,.ppp-calendar-add-inline:hover{text-decoration:underline}.ppp-calendar-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.ppp-calendar-cell{cursor:pointer}


.ppp-card-title{margin:0;font-size:28px;line-height:1.15;color:var(--ppp-purple-dark);font-weight:800}
.ppp-card-count{display:inline-flex;align-items:center;justify-content:center;min-width:88px;padding:10px 16px;border-radius:999px;background:linear-gradient(135deg,#f6f0ff 0%,#efe5ff 100%);color:var(--ppp-purple-dark);font-weight:800;box-shadow:inset 0 0 0 1px rgba(111,60,195,.12)}
.ppp-assignment-launch{padding:28px}
.ppp-assignment-launch-highlight{background:linear-gradient(135deg,#ffffff 0%,#f3edff 100%);border:2px solid #d7c8f5;box-shadow:0 10px 26px rgba(83,40,158,.12)}
.ppp-assignment-launch-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px}
.ppp-assignment-kicker{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ppp-purple);margin-bottom:6px}
.ppp-assignment-title{margin:0;font-size:38px;line-height:1.05;font-weight:900;color:#1f1530}
.ppp-assignment-subtext{max-width:760px;font-size:14px;line-height:1.5}
.ppp-collapse-toggle-prominent{width:auto;min-width:265px;text-align:center;background:var(--ppp-purple);border:0;color:#fff;font-size:19px;padding:18px 28px;box-shadow:0 14px 28px rgba(111,60,195,.24)}
.ppp-collapse-toggle-prominent:hover{background:var(--ppp-purple-dark)}

.ppp-table-card .ppp-section-head{padding:16px 18px;border:1px solid var(--ppp-border);border-radius:16px;background:linear-gradient(135deg,#fcf9ff 0%,#f4ecff 100%);margin:-2px -2px 16px;box-shadow:0 8px 20px rgba(111,60,195,.08)}
.ppp-table-card .ppp-card-title{font-size:30px}
.ppp-notifications-card .ppp-section-head{padding:16px 18px;border:1px solid var(--ppp-border);border-radius:16px;background:linear-gradient(135deg,#fcf9ff 0%,#f4ecff 100%);margin:-2px -2px 16px;box-shadow:0 8px 20px rgba(111,60,195,.08)}
.ppp-notification-list{display:grid;gap:10px}
.ppp-notification-item{display:block;text-decoration:none;color:var(--ppp-text);padding:14px 16px;border:1px solid var(--ppp-border);border-radius:14px;background:#fff;transition:all .15s ease}
.ppp-notification-item:hover{background:var(--ppp-bg);transform:translateY(-1px)}
.ppp-notification-unread{border-color:#cdb6f6;box-shadow:0 8px 20px rgba(111,60,195,.08)}
.ppp-notification-summary{font-size:16px;font-weight:700;color:#241738}
.ppp-follow-toggle{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--ppp-text)}
.ppp-follow-toggle input[type=checkbox]{width:auto;transform:scale(1.15)}

.ppp-header-right{display:flex;align-items:flex-start;gap:12px;justify-content:flex-end;flex:1}
.ppp-bell-wrap{position:relative;align-self:flex-start}
.ppp-bell-btn{position:relative;border:1px solid var(--ppp-border);background:#fff;color:var(--ppp-purple-dark);border-radius:999px;padding:10px 14px;cursor:pointer;font-weight:700;min-width:52px}
.ppp-bell-btn:hover{background:var(--ppp-bg)}
.ppp-bell-count{position:absolute;top:-6px;right:-4px;background:var(--ppp-purple);color:#fff;border-radius:999px;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;padding:0 6px;box-shadow:0 6px 14px rgba(111,60,195,.2)}
.ppp-bell-panel{position:absolute;right:0;top:100%;margin-top:10px;width:360px;max-width:92vw;background:#fff;border:1px solid var(--ppp-border);border-radius:18px;box-shadow:0 18px 40px rgba(34,26,49,.16);padding:14px;z-index:50}
.ppp-bell-head,.ppp-bell-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ppp-bell-list{display:grid;gap:8px;max-height:360px;overflow:auto;margin:12px 0}
.ppp-bell-item{display:block;text-decoration:none;color:var(--ppp-text);border:1px solid var(--ppp-border);border-radius:14px;padding:12px;background:#fff}
.ppp-bell-item:hover{background:var(--ppp-bg)}
.ppp-bell-item-unread{border-color:#cdb6f6;box-shadow:0 8px 20px rgba(111,60,195,.08)}
.ppp-bell-item-title{font-weight:700;color:#241738;margin-bottom:4px}
.ppp-bell-empty{padding:16px 4px;color:var(--ppp-muted)}

.ppp-file-badge{display:inline-flex;align-items:center;justify-content:center;min-width:38px;padding:3px 8px;margin-right:8px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.04em;background:#eee;color:#fff;vertical-align:middle}
.ppp-file-badge-excel{background:#1d6f42}
.ppp-file-badge-pdf{background:#c62828}
.ppp-file-badge-word{background:#185abd}

.ppp-inline-edit-details,.ppp-note-edit{border:1px solid var(--ppp-border);border-radius:16px;background:#fff;padding:14px}
.ppp-inline-edit-details summary,.ppp-note-edit summary{list-style:none}
.ppp-inline-edit-details summary::-webkit-details-marker,.ppp-note-edit summary::-webkit-details-marker{display:none}
.ppp-inline-edit-summary,.ppp-note-edit-summary{cursor:pointer;color:var(--ppp-text);font-weight:600}
.ppp-inline-edit-summary{line-height:1.65;white-space:pre-wrap}
.ppp-note-text-preview{line-height:1.6;white-space:pre-wrap}
.ppp-inline-edit-details[open],.ppp-note-edit[open]{box-shadow:0 10px 22px rgba(111,60,195,.08);background:#fcfaff}
.ppp-card h3{margin-top:0}

.ppp-help-layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:18px;align-items:start}.ppp-help-sidebar,.ppp-help-main{display:grid;gap:18px}.ppp-help-article-list{display:grid;gap:10px}.ppp-help-article-link{display:block;padding:14px 16px;border:1px solid var(--ppp-border);border-radius:14px;background:#fff;color:var(--ppp-text);text-decoration:none;font-weight:700}.ppp-help-article-link:hover,.ppp-help-article-link.is-active{border-color:var(--ppp-accent);box-shadow:0 0 0 2px rgba(111,60,195,.08);color:var(--ppp-accent-dark)}.ppp-help-article-body{line-height:1.75}.ppp-help-item-stack{flex-direction:column;align-items:flex-start}.ppp-form-actions-inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

.ppp-help-searchbar{display:flex;gap:10px;align-items:center;margin-top:16px}.ppp-help-searchbar input{flex:1}.ppp-help-numbered-list{margin:0;padding-left:20px;display:grid;gap:10px}.ppp-help-numbered-list li{margin:0}.ppp-help-article-number{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:linear-gradient(135deg,#f6f0ff 0%,#efe5ff 100%);color:var(--ppp-purple-dark);font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}.ppp-help-article-link{width:100%;box-sizing:border-box}.ppp-table td,.ppp-table th{vertical-align:top}

.ppp-notification-x{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid var(--ppp-border);background:#fff;color:var(--ppp-accent);font-size:22px;font-weight:700;line-height:1;text-decoration:none;cursor:pointer;box-shadow:0 4px 10px rgba(111,60,195,.08)}
.ppp-notification-x:hover{background:var(--ppp-bg);border-color:#cdb6f6}

/* 0.7.0 cleanup */
.ppp-card{border-radius:18px;box-shadow:0 8px 24px rgba(34,26,49,.06)}
.ppp-card h2,.ppp-card h3{color:#23163a}
.ppp-table-wrap{overflow:auto;border-radius:16px}
.ppp-table th{position:sticky;top:0;background:#faf7ff;z-index:1}
.ppp-table td,.ppp-table th{padding:12px 10px}
.ppp-subtext{line-height:1.55}
.ppp-bell-btn{box-shadow:0 8px 18px rgba(111,60,195,.10)}
.ppp-admin-user-form .ppp-card{background:linear-gradient(135deg,#fff 0%,#faf7ff 100%)}


/* 0.7.1 messaging */
.ppp-messages-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:18px;align-items:start}
.ppp-messages-sidebar,.ppp-messages-main{display:grid;gap:18px}
.ppp-messages-sidebar-card{margin:0}
.ppp-message-thread-list{display:grid;gap:10px}
.ppp-message-thread-item{display:block;padding:14px 16px;border:1px solid var(--ppp-border);border-radius:14px;background:#fff;text-decoration:none;color:var(--ppp-text);box-shadow:0 6px 14px rgba(34,26,49,.04)}
.ppp-message-thread-item:hover,.ppp-message-thread-item.is-active{border-color:#cdb6f6;background:#fcf9ff;box-shadow:0 10px 22px rgba(111,60,195,.10)}
.ppp-message-thread-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.ppp-message-unread-pill{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;border-radius:999px;background:var(--ppp-purple);color:#fff;font-size:12px;font-weight:800}
.ppp-message-stream{display:grid;gap:12px;max-height:720px;overflow:auto;padding-right:4px}
.ppp-message-bubble{padding:14px 16px;border:1px solid var(--ppp-border);border-radius:16px;background:#fff;box-shadow:0 6px 14px rgba(34,26,49,.04)}
.ppp-message-bubble.is-mine{border-color:#cdb6f6;background:#fcf9ff}
.ppp-message-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--ppp-muted);margin-bottom:8px}
.ppp-message-body{white-space:pre-wrap;line-height:1.65;color:var(--ppp-text)}


/* 0.8.0 attachments + archives */
.ppp-file-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.ppp-file-chip{display:inline-flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--ppp-border);border-radius:14px;background:#fff;color:var(--ppp-text);text-decoration:none;box-shadow:0 6px 14px rgba(34,26,49,.04)}
.ppp-file-chip:hover{background:#fcf9ff;border-color:#cdb6f6;box-shadow:0 10px 22px rgba(111,60,195,.10)}
.ppp-file-chip-name{font-weight:700;color:#241738}
.ppp-file-chip-meta{font-size:12px;color:var(--ppp-muted)}
input[type=file]{padding:10px;border:1px dashed var(--ppp-border);border-radius:12px;background:#fff;width:100%;box-sizing:border-box}

.ppp-attachment-uploader{border:2px dashed rgba(124,72,225,.28);border-radius:18px;padding:16px 18px;background:linear-gradient(180deg,#fbf8ff 0%,#f7f2ff 100%);box-shadow:0 6px 18px rgba(124,72,225,.08)}
.ppp-attachment-uploader-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}
.ppp-attachment-uploader-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:#7c48e1;color:#fff;font-size:20px;flex:0 0 42px;box-shadow:0 8px 20px rgba(124,72,225,.22)}
.ppp-attachment-uploader-label{display:block;font-size:16px;font-weight:800;margin:0 0 4px;color:#241b4b}
.ppp-attachment-uploader-subtext{font-size:13px;line-height:1.5;color:#5f587c}
.ppp-attachment-uploader-box{border:1px solid rgba(124,72,225,.22);border-radius:14px;background:#fff;padding:14px}
.ppp-file-input{display:block;width:100%;padding:12px;border:1px solid var(--ppp-border);border-radius:12px;background:#fcfbff}
.ppp-file-input::-webkit-file-upload-button{margin-right:10px;border:0;border-radius:10px;background:#7c48e1;color:#fff;padding:10px 14px;font-weight:700;cursor:pointer}
.ppp-file-input::file-selector-button{margin-right:10px;border:0;border-radius:10px;background:#7c48e1;color:#fff;padding:10px 14px;font-weight:700;cursor:pointer}

.ppp-message-form-note{font-size:12px;color:var(--ppp-muted)}
.ppp-message-thread-item .ppp-subtext{line-height:1.35}
.ppp-messages-sidebar-card select[multiple]{min-height:120px}


/* 0.10.1 sidebar shell + sorting */
body.ppp-app-shell main,
body.ppp-app-shell .wp-site-blocks main{margin-top:0 !important;padding-top:0 !important}
body.ppp-app-shell .wp-block-post-content{margin-block-start:0 !important}
body.ppp-app-shell .wp-site-blocks header,
body.ppp-app-shell .site-header,
body.ppp-app-shell .wp-block-template-part.header{display:none !important}
body.ppp-app-shell .entry-content > .ppp-shell:first-child{margin-top:0}
.ppp-shell{max-width:none;margin:0;padding:24px 24px 32px 312px;color:var(--ppp-text);font-family:Arial,Helvetica,sans-serif;min-height:calc(100vh - var(--ppp-admin-offset));position:relative}
.ppp-app-layout{display:block}
.ppp-sidebar{position:fixed;left:20px;top:calc(var(--ppp-admin-offset) + 20px);bottom:auto;height:calc(100vh - var(--ppp-admin-offset) - 40px);max-height:calc(100vh - var(--ppp-admin-offset) - 40px);width:264px;background:#191424;color:#fff;border-radius:24px;padding:18px 16px 16px;box-shadow:0 24px 48px rgba(20,14,33,.22);display:flex;flex-direction:column;z-index:30;transition:width .2s ease, transform .2s ease, left .2s ease}
.ppp-sidebar-brand{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.ppp-sidebar-brand-link{display:flex;align-items:center;min-width:0}.ppp-sidebar-logo{display:block;height:58px;max-width:170px;width:auto;object-fit:contain}.ppp-sidebar-collapse-btn,.ppp-topbar-menu-btn{appearance:none;border:0;background:#2a233a;color:#fff;border-radius:12px;width:42px;height:42px;font-size:20px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:none}.ppp-topbar-menu-btn{display:none;background:#fff;color:#23193a;border:1px solid var(--ppp-border)}
.ppp-sidebar-scroll{overflow:auto;padding-right:2px;display:grid;gap:18px}.ppp-sidebar-group{display:grid;gap:10px}.ppp-sidebar-kicker{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#9f96bb;font-weight:700;padding:0 10px}.ppp-sidebar-nav{display:grid;gap:6px}.ppp-sidebar-link{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:14px;color:#f5f2ff;text-decoration:none;font-size:15px;font-weight:700;transition:background .15s ease,color .15s ease,transform .15s ease}.ppp-sidebar-link:hover{background:#2b2440;color:#fff;transform:translateX(2px)}.ppp-sidebar-link.is-active{background:linear-gradient(135deg,#7c48e1,#5f30c8);color:#fff;box-shadow:0 10px 22px rgba(124,72,225,.28)}.ppp-sidebar-icon{width:24px;flex:0 0 24px;text-align:center;font-size:15px;line-height:1}.ppp-sidebar-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ppp-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#ffffff 0%,#fbf8ff 100%);border:1px solid var(--ppp-border);border-radius:22px;padding:18px 20px;margin-bottom:18px;box-shadow:0 12px 28px rgba(83,40,158,.08);position:sticky;top:calc(var(--ppp-admin-offset) + 16px);z-index:20}.ppp-topbar-left,.ppp-topbar-right{display:flex;align-items:center;gap:14px}.ppp-topbar-copy{display:grid;gap:3px}.ppp-site-title{font-size:12px;color:var(--ppp-purple);text-transform:uppercase;letter-spacing:.12em;font-weight:800}.ppp-page-title{font-size:34px;font-weight:800;color:#201531;line-height:1.02}
.ppp-header,.ppp-brand,.ppp-header-right,.ppp-nav{all:unset}
.ppp-bell-wrap{position:relative}.ppp-bell-btn{appearance:none;border:1px solid var(--ppp-border);background:#fff;color:#2c2145;border-radius:999px;padding:0;width:58px;height:58px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 20px rgba(111,60,195,.10)}.ppp-bell-icon{font-size:22px}.ppp-bell-count{position:absolute;right:-4px;top:-4px;background:var(--ppp-purple);color:#fff;border-radius:999px;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.ppp-bell-panel{position:absolute;right:0;top:68px;width:320px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--ppp-border);border-radius:18px;padding:14px;box-shadow:0 22px 48px rgba(32,21,49,.16);z-index:60}.ppp-bell-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.ppp-bell-list{display:grid;gap:8px;max-height:340px;overflow:auto}.ppp-bell-item{padding:10px;border:1px solid var(--ppp-border);border-radius:14px;background:#fff}.ppp-bell-item-unread{background:#fbf8ff}.ppp-bell-item-title{font-weight:700}.ppp-bell-actions{display:flex;gap:8px;justify-content:space-between;margin-top:12px}.ppp-bell-empty{padding:12px;border:1px dashed var(--ppp-border);border-radius:14px;background:#fcfbff;color:var(--ppp-muted)}
.ppp-account-wrap{position:relative}.ppp-account-btn{appearance:none;border:1px solid var(--ppp-border);background:#fff;color:#261b40;border-radius:999px;padding:0 16px;height:52px;display:inline-flex;align-items:center;gap:8px;font-weight:700;cursor:pointer;box-shadow:0 10px 20px rgba(111,60,195,.08)}.ppp-account-caret{font-size:12px;color:var(--ppp-muted)}.ppp-account-panel{position:absolute;right:0;top:62px;width:240px;background:#fff;border:1px solid var(--ppp-border);border-radius:18px;padding:14px;box-shadow:0 22px 48px rgba(32,21,49,.16);z-index:60}.ppp-account-panel-head{padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--ppp-border)}.ppp-account-links{display:grid;gap:6px}.ppp-account-link{display:block;padding:10px 12px;border-radius:12px;color:#241b4b;text-decoration:none;font-weight:700}.ppp-account-link:hover{background:#f7f2ff}
body.ppp-app-shell.ppp-sidebar-collapsed .ppp-shell{padding-left:136px}body.ppp-app-shell.ppp-sidebar-collapsed .ppp-sidebar{width:88px}body.ppp-app-shell.ppp-sidebar-collapsed .ppp-sidebar-kicker,body.ppp-app-shell.ppp-sidebar-collapsed .ppp-sidebar-label{display:none}body.ppp-app-shell.ppp-sidebar-collapsed .ppp-sidebar-link{justify-content:center;padding-inline:0}body.ppp-app-shell.ppp-sidebar-collapsed .ppp-sidebar-brand{justify-content:center}body.ppp-app-shell.ppp-sidebar-collapsed .ppp-sidebar-logo{max-width:54px;height:54px}body.ppp-app-shell.ppp-sidebar-collapsed .ppp-sidebar-collapse-btn{position:absolute;right:12px;top:12px;width:30px;height:30px;font-size:14px}
.ppp-sidebar-overlay{display:none}
.ppp-sortable-th{cursor:pointer;user-select:none;position:relative;padding-right:26px !important}
.ppp-sort-indicator{margin-left:8px;font-size:11px;color:var(--ppp-muted)}
.ppp-messages-sidebar-card .ppp-collapse-toggle{margin-bottom:0}


/* 0.10.3 appearance polish */
.ppp-filter-panel{padding:14px 16px}
.ppp-filter-panel .ppp-collapsed{margin-top:12px}
.ppp-filter-toggle{padding:10px 14px;border-style:solid;background:linear-gradient(135deg,#fbf8ff 0%,#f4ecff 100%);border-color:#ddd1f8;color:#2e2048;box-shadow:0 6px 18px rgba(111,60,195,.08);display:flex;align-items:center;justify-content:space-between;gap:12px}.ppp-filter-toggle-label{display:inline-flex;align-items:center;font-weight:800}.ppp-filter-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 20px;border-radius:999px;background:#efe6ff;color:var(--ppp-purple);font-size:11px;line-height:1}.ppp-filter-toggle-icon::before{content:"▼"}.ppp-filter-toggle.is-open .ppp-filter-toggle-icon::before,.ppp-filter-toggle[aria-expanded="true"] .ppp-filter-toggle-icon::before{content:"▲"}.ppp-filter-toggle:hover{border-color:#cdb6f6;background:#fff}
.ppp-filters{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.ppp-filters label{font-size:12px;margin-bottom:4px}
.ppp-filters input[type=text],.ppp-filters input[type=date],.ppp-filters select{min-height:40px;padding:8px 10px;border-radius:10px;font-size:14px}
.ppp-filter-actions{gap:8px;align-items:center;grid-column:1/-1}
.ppp-filter-actions .ppp-btn{padding:9px 14px;font-size:13px}
.ppp-archive-filter-grid{margin:0}
.ppp-table tbody tr:nth-child(even) td{background:#fcfbff}
.ppp-table tbody tr:nth-child(odd) td{background:#fff}
.ppp-table tbody tr:hover td{background:#f3ecff}
.ppp-table td,.ppp-table th{transition:background .12s ease}
.ppp-table th{position:sticky;top:0;background:#f8f3ff;z-index:1}
.ppp-table-wrap{border:1px solid var(--ppp-border);border-radius:16px;overflow:auto}
.ppp-table-card,.ppp-card{box-shadow:0 6px 20px rgba(83,40,158,.045)}
.ppp-section-head{align-items:center}
.ppp-card-count{background:#f4ecff;border:1px solid #dcccf8;border-radius:999px;padding:8px 12px;font-weight:800;color:#5b31b7}
@media (max-width: 1100px){.ppp-filters{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width: 780px){.ppp-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.ppp-filter-actions{grid-column:1/-1}}
@media (max-width: 520px){.ppp-filters{grid-template-columns:1fr}}

/* 0.10.6 dense-table polish + sidebar memory */
.ppp-table th,.ppp-table td{padding:10px 10px}
.ppp-table td{font-size:14px;line-height:1.35}
.ppp-table .ppp-subtext{font-size:11px;line-height:1.3}
.ppp-table tbody tr td:first-child strong,.ppp-table tbody tr td:first-child a{font-weight:800}
.ppp-table-wrap{scrollbar-width:thin}
.ppp-section-head{padding-bottom:2px}
.ppp-card h2,.ppp-card-title{letter-spacing:-0.01em}
.ppp-notifications-card .ppp-notification-list{max-height:240px;overflow:auto}
.ppp-notifications-card .ppp-notification-item{padding:10px 12px}
.ppp-notifications-card .ppp-subtext{font-size:12px}
body.ppp-app-shell .ppp-sidebar{left:16px;top:calc(var(--ppp-admin-offset) + 16px);height:calc(100vh - var(--ppp-admin-offset) - 32px);max-height:calc(100vh - var(--ppp-admin-offset) - 32px)}
body.ppp-app-shell .ppp-shell{padding-left:304px}
body.ppp-app-shell.ppp-sidebar-collapsed .ppp-shell{padding-left:128px}
@media (max-width: 980px){
  body.ppp-app-shell .ppp-shell{padding-left:20px}
  body.ppp-app-shell .ppp-sidebar{transform:translateX(calc(-100% - 20px));transition:transform .2s ease,left .2s ease;z-index:80}
  body.ppp-app-shell.ppp-sidebar-mobile-open .ppp-sidebar{transform:translateX(0)}
  .ppp-sidebar-overlay{position:fixed;inset:0;background:rgba(13,10,24,.35);display:block;z-index:70}
  body.ppp-app-shell .ppp-topbar-menu-btn{display:inline-flex}
}


/* 0.10.7 compact notifications on My Assignments */
.ppp-utility-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);gap:18px;margin-bottom:18px}
.ppp-utility-card{margin-bottom:0}
.ppp-utility-card .ppp-card-title{font-size:24px}
.ppp-utility-actions{margin-top:12px;margin-bottom:0;gap:10px}
.ppp-compact-notifications{margin-top:12px;padding-top:12px;border-top:1px solid var(--ppp-border)}
.ppp-compact-notifications summary{display:flex;align-items:center;justify-content:space-between;font-size:14px}
.ppp-notification-list-compact{margin-top:10px}
.ppp-notification-list-compact .ppp-notification-item{padding:10px 12px}
.ppp-notification-list-compact .ppp-notification-summary{font-size:15px}
.ppp-compact-empty{margin-top:12px}
@media (max-width: 980px){.ppp-utility-grid{grid-template-columns:1fr}}


.ppp-diagnostics-banner{margin-bottom:18px;background:#fff9f5;border-color:#f0d4c0}
.ppp-diagnostics-list{margin:10px 0 0 18px;padding:0;display:grid;gap:6px}
.ppp-message-bubble.is-focused{border-color:#6f3cc3;box-shadow:0 0 0 3px rgba(111,60,195,.14)}
.ppp-message-thread-item{cursor:pointer}


/* 0.10.7.3 shell cleanup + diagnostics consolidation */
body.ppp-app-shell .wp-site-blocks > header,
body.ppp-app-shell .wp-site-blocks > footer,
body.ppp-app-shell .wp-block-post-title,
body.ppp-app-shell .entry-title,
body.ppp-app-shell .entry-header,
body.ppp-app-shell .post-navigation-link-previous,
body.ppp-app-shell .post-navigation-link-next{display:none !important}
body.ppp-app-shell .wp-site-blocks{padding-top:0 !important;padding-bottom:0 !important}
body.ppp-app-shell .wp-site-blocks > main{margin-block-start:0 !important}
body.ppp-app-shell .ppp-shell{max-width:1320px}
.ppp-admin-console-card{margin-bottom:18px}
.ppp-admin-jumpnav{display:flex;flex-wrap:wrap;gap:8px}
.ppp-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.ppp-status-tile{border:1px solid var(--ppp-border);border-radius:16px;padding:14px 16px;background:#fcfbff}
.ppp-status-label{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ppp-muted);font-weight:700}
.ppp-status-value{font-size:26px;font-weight:800;color:#201531;margin-top:6px}
.ppp-admin-health-list{margin-top:14px;padding:14px 16px;border:1px solid #ecd9c9;border-radius:16px;background:#fff8f3}
.ppp-admin-health-ok{margin-top:14px;padding:14px 16px;border:1px solid #d8eed7;border-radius:16px;background:#f6fff5;color:#2d5b2d;font-weight:700}
@media (max-width: 1100px){.ppp-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 700px){.ppp-status-grid{grid-template-columns:1fr}.ppp-admin-jumpnav{display:grid;grid-template-columns:1fr 1fr}}


/* 0.10.7.8 workflow cleanup */
.ppp-floating-new-assignment{
  position:fixed;
  right:28px;
  bottom:28px;
  z-index:9999;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 20px;
  border-radius:999px;
  background:var(--ppp-purple,#6f3cc3);
  color:#fff !important;
  text-decoration:none;
  font-weight:800;
  box-shadow:0 14px 32px rgba(111,60,195,.35);
}
.ppp-floating-new-assignment:hover{filter:brightness(.96);}
.ppp-lower-utility-grid,.ppp-lower-actions-card{margin-top:24px;}
.ppp-created-by-line{font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;}
.ppp-filter-panel{padding:0;overflow:hidden;}
.ppp-filter-toggle{width:100%;justify-content:space-between;padding:14px 18px;text-align:left;}
.ppp-filter-panel .ppp-collapsed{padding:0 18px 18px;}
.ppp-filter-actions{gap:8px;flex-wrap:wrap;}
@media (max-width: 720px){
  .ppp-floating-new-assignment{right:16px;bottom:16px;padding:12px 16px;font-size:14px;}
}

/* 0.10.7.9 Teams-style messaging refinements */
.ppp-messages-layout{grid-template-columns:320px minmax(0,1fr);gap:0;border:1px solid var(--ppp-border);border-radius:22px;overflow:hidden;background:#fff;min-height:620px;box-shadow:0 18px 50px rgba(42,18,82,.08)}
.ppp-messages-sidebar{background:#fbf8ff;border-right:1px solid var(--ppp-border);padding:14px;gap:12px;align-content:start;max-height:calc(100vh - 170px);overflow:auto}
.ppp-messages-main{padding:0;background:#fff;min-width:0}
.ppp-messages-main>.ppp-card{border:0;box-shadow:none;border-radius:0;min-height:620px;display:flex;flex-direction:column}
.ppp-message-stream{flex:1;overflow:auto;max-height:calc(100vh - 360px);padding:10px;background:linear-gradient(180deg,#fff,#fbf8ff)}
.ppp-message-bubble{max-width:78%;margin:10px 0;border-radius:18px;border:1px solid #eadcff;background:#fff;padding:12px 14px;box-shadow:0 8px 22px rgba(42,18,82,.06)}
.ppp-message-bubble.is-mine{margin-left:auto;background:#efe4ff;border-color:#d8c2ff}
.ppp-message-thread-item{position:relative;background:#fff;border-radius:16px;border:1px solid #eadcff;transition:.16s ease;}
.ppp-message-thread-item:hover,.ppp-message-thread-item.is-active{background:#f1e7ff;border-color:#cdb0ff;box-shadow:0 8px 20px rgba(111,60,195,.12)}
.ppp-messages-sidebar-card{background:transparent;border:0;box-shadow:none;padding:0}
.ppp-messages-sidebar-card>.ppp-section-head{padding:0 2px}
.ppp-messages-sidebar .ppp-card-title{font-size:18px!important}

.ppp-quick-chat{position:fixed;right:28px;bottom:92px;z-index:9998;font-family:inherit}
.ppp-quick-chat-button{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;background:var(--ppp-purple);color:#fff;font-weight:900;padding:13px 18px;box-shadow:0 18px 34px rgba(111,60,195,.32);cursor:pointer}
.ppp-quick-chat-button:hover{filter:brightness(.96)}
.ppp-quick-chat-icon{font-size:17px}.ppp-quick-chat-text{letter-spacing:.01em}.ppp-quick-chat-count{min-width:24px;height:24px;border-radius:999px;background:#fff;color:var(--ppp-purple);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;padding:0 7px}
.ppp-quick-chat-panel{position:absolute;right:0;bottom:58px;width:min(860px,calc(100vw - 36px));height:min(650px,calc(100vh - 110px));background:#fff;border:1px solid #d9c7ff;border-radius:24px;box-shadow:0 28px 80px rgba(20,6,48,.24);overflow:hidden}
.ppp-quick-chat-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #eadcff;background:#fbf8ff}
.ppp-quick-chat-head-actions{display:flex;align-items:center;gap:12px;font-size:12px}.ppp-quick-chat-head-actions button{width:34px;height:34px;border-radius:50%;border:1px solid #eadcff;background:#fff;color:var(--ppp-purple);font-weight:900;cursor:pointer}.ppp-quick-chat-head-actions a{font-weight:800;color:var(--ppp-purple);text-decoration:none}
.ppp-quick-chat-body{display:grid;grid-template-columns:250px 1fr;height:calc(100% - 61px);min-height:0}
.ppp-quick-chat-list{border-right:1px solid #eadcff;background:#fbf8ff;padding:10px;overflow:auto}
.ppp-quick-chat-thread{display:block;position:relative;text-decoration:none;color:inherit;border:1px solid #eadcff;background:#fff;border-radius:14px;padding:10px 12px;margin-bottom:8px}.ppp-quick-chat-thread:hover,.ppp-quick-chat-thread.is-active{background:#efe4ff;border-color:#d2b9ff}.ppp-quick-chat-thread-name{display:block;font-weight:900}.ppp-quick-chat-thread-preview{display:block;font-size:12px;color:var(--ppp-muted);margin-top:4px;line-height:1.35}.ppp-quick-chat-thread .ppp-message-unread-pill{position:absolute;right:8px;top:8px}
.ppp-quick-chat-conversation{display:flex;flex-direction:column;min-width:0;min-height:0}.ppp-quick-chat-conversation-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #eadcff}.ppp-quick-chat-conversation-head a{font-size:12px;font-weight:800;color:var(--ppp-purple);text-decoration:none}.ppp-quick-chat-stream{flex:1;overflow:auto;padding:12px;background:linear-gradient(180deg,#fff,#fbf8ff)}
.ppp-quick-chat-bubble{max-width:82%;border:1px solid #eadcff;background:#fff;border-radius:16px;padding:10px 12px;margin:8px 0;font-size:13px;line-height:1.45}.ppp-quick-chat-bubble.is-mine{margin-left:auto;background:#efe4ff;border-color:#d2b9ff}.ppp-quick-chat-meta{font-size:11px;color:var(--ppp-muted);font-weight:800;margin-bottom:4px}
.ppp-quick-chat-reply{border-top:1px solid #eadcff;padding:12px;background:#fff}.ppp-quick-chat-reply textarea{width:100%;min-height:70px;border:1px solid #eadcff;border-radius:14px;padding:10px 12px;resize:vertical}.ppp-quick-chat-reply-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.ppp-quick-chat-reply input[type=file]{font-size:12px;max-width:70%}.ppp-quick-chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:100%;padding:24px}
@media (max-width:900px){.ppp-messages-layout{grid-template-columns:1fr}.ppp-messages-sidebar{max-height:none;border-right:0;border-bottom:1px solid var(--ppp-border)}.ppp-quick-chat{right:16px;bottom:78px}.ppp-quick-chat-panel{width:calc(100vw - 24px);height:calc(100vh - 96px)}.ppp-quick-chat-body{grid-template-columns:1fr}.ppp-quick-chat-list{max-height:185px;border-right:0;border-bottom:1px solid #eadcff}.ppp-quick-chat-text{display:none}}
@media (max-width:560px){.ppp-quick-chat{bottom:74px}.ppp-quick-chat-button{padding:12px 14px}.ppp-quick-chat-panel{right:-4px;border-radius:18px}.ppp-quick-chat-reply-actions{align-items:stretch;flex-direction:column}.ppp-quick-chat-reply input[type=file]{max-width:100%}.ppp-message-bubble{max-width:92%}}

/* 0.10.7.10 scoped chat search + filter wrap fix */
.ppp-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;align-items:end;min-width:0;}
.ppp-filters > div{min-width:0;}
.ppp-filters label{display:block;white-space:normal;line-height:1.25;}
.ppp-filters input[type=text],.ppp-filters input[type=date],.ppp-filters select{width:100%;max-width:100%;box-sizing:border-box;}
.ppp-filter-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;grid-column:1/-1;}
.ppp-filter-actions .ppp-btn{white-space:nowrap;}
.ppp-quick-chat-new{border:1px dashed #d9c7ff;background:#fff;border-radius:14px;padding:10px;margin-bottom:10px;display:grid;gap:8px;}
.ppp-quick-chat-search-label{font-size:11px;font-weight:900;color:var(--ppp-muted);text-transform:uppercase;letter-spacing:.05em;}
.ppp-quick-chat-search,.ppp-quick-chat-recipient-select,.ppp-quick-chat-new textarea{width:100%;border:1px solid #eadcff;border-radius:12px;padding:8px 10px;font:inherit;box-sizing:border-box;}
.ppp-quick-chat-new textarea{min-height:56px;resize:vertical;}
.ppp-quick-chat-new-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.ppp-quick-chat-new-actions input[type=file]{font-size:11px;max-width:68%;}
@media (max-width:700px){.ppp-quick-chat-new-actions{align-items:stretch;flex-direction:column}.ppp-quick-chat-new-actions input[type=file]{max-width:100%}}

/* 0.10.7.11 Editable Gantt chart */
.ppp-gantt-intro{margin-bottom:16px;}
.ppp-gantt-card{overflow:hidden;}
.ppp-gantt-scroll{display:grid;gap:10px;overflow:auto;padding-bottom:4px;}
.ppp-gantt-axis,.ppp-gantt-row{display:grid;grid-template-columns:minmax(300px,360px) minmax(640px,1fr) 92px;gap:14px;align-items:center;min-width:1080px;}
.ppp-gantt-axis{position:sticky;top:0;z-index:3;background:#fff;padding:10px 12px;border:1px solid var(--ppp-border);border-radius:16px;color:var(--ppp-muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;}
.ppp-gantt-axis-track{position:relative;height:28px;border-left:1px solid #eadcff;border-right:1px solid #eadcff;}
.ppp-gantt-axis-track span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap;}
.ppp-gantt-axis-actions{text-align:right;}
.ppp-gantt-row{padding:12px;border:1px solid var(--ppp-border);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(42,18,82,.05);}
.ppp-gantt-row:hover{border-color:#d8c2ff;box-shadow:0 14px 32px rgba(111,60,195,.10);}
.ppp-gantt-task input[type=text]{width:100%;border:1px solid #eadcff;border-radius:12px;padding:9px 11px;font-weight:800;color:#201531;box-sizing:border-box;}
.ppp-gantt-meta{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:8px;font-size:12px;color:var(--ppp-muted);}
.ppp-gantt-meta a{font-weight:900;color:var(--ppp-purple);text-decoration:none;}
.ppp-gantt-track-wrap{display:grid;gap:10px;min-width:0;}
.ppp-gantt-track{position:relative;height:34px;border-radius:999px;background:linear-gradient(90deg,#fbf8ff,#fff);border:1px solid #eadcff;overflow:hidden;}
.ppp-gantt-gridline{position:absolute;top:0;bottom:0;width:1px;background:#eadcff;opacity:.85;}
.ppp-gantt-bar{position:absolute;top:5px;bottom:5px;border-radius:999px;background:#dfd0fb;border:1px solid #c6aaf4;overflow:hidden;box-shadow:0 5px 12px rgba(111,60,195,.16);}
.ppp-gantt-progress{position:absolute;left:0;top:0;bottom:0;background:var(--ppp-purple,#6f3cc3);opacity:.88;}
.ppp-gantt-bar-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.24);font-size:11px;font-weight:900;}
.ppp-gantt-inline-fields{display:grid;grid-template-columns:repeat(5,minmax(116px,1fr));gap:8px;align-items:end;}
.ppp-gantt-inline-fields label{font-size:11px;font-weight:900;color:var(--ppp-muted);text-transform:uppercase;letter-spacing:.04em;display:grid;gap:4px;}
.ppp-gantt-inline-fields input,.ppp-gantt-inline-fields select{width:100%;border:1px solid #eadcff;border-radius:11px;padding:8px 9px;font:inherit;text-transform:none;letter-spacing:0;color:#201531;background:#fff;box-sizing:border-box;}
.ppp-gantt-actions{text-align:right;}
.ppp-gantt-actions .ppp-btn{width:100%;justify-content:center;}
.ppp-gantt-row.status-complete{opacity:.78;}
.ppp-gantt-row.status-stalled .ppp-gantt-bar{background:#ffe6d6;border-color:#f0b894;}
.ppp-gantt-row.status-in-progress .ppp-gantt-bar{background:#e7ddff;border-color:#c8b4fa;}
@media (max-width:900px){.ppp-gantt-axis,.ppp-gantt-row{grid-template-columns:280px 680px 84px}.ppp-gantt-inline-fields{grid-template-columns:repeat(3,minmax(130px,1fr));}}


/* 0.10.7.12 mobile sidebar and Gantt repair */
@media (max-width:1100px){
  body.ppp-app-shell .ppp-sidebar-overlay[hidden]{display:none!important;pointer-events:none!important;opacity:0!important;}
  body.ppp-app-shell.ppp-sidebar-mobile-open .ppp-sidebar-overlay:not([hidden]),
  body.ppp-app-shell.ppp-sidebar-open .ppp-sidebar-overlay:not([hidden]){display:block!important;pointer-events:auto!important;opacity:1!important;z-index:9998!important;}
  body.ppp-app-shell .ppp-sidebar{z-index:9999!important;}
  body.ppp-app-shell.ppp-sidebar-mobile-open .ppp-sidebar,
  body.ppp-app-shell.ppp-sidebar-open .ppp-sidebar{transform:translateX(0)!important;left:16px!important;}
  body.ppp-app-shell .ppp-topbar-menu-btn{display:inline-flex!important;}
}

/* 0.10.7.13 PowerBI-style Gantt */
body.ppp-direct-gantt-route{margin:0;background:#f8f5ff;color:#201531;}
body.ppp-direct-gantt-route .ppp-shell{min-height:100vh;}
.ppp-gantt-power-card{padding:0;overflow:hidden;border-color:#d9c5ff;}
.ppp-gantt-blue-title{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#073b70;color:#fff;padding:12px 16px;font-size:15px;letter-spacing:.01em;}
.ppp-gantt-blue-title strong{font-weight:900;}
.ppp-gantt-blue-title span{opacity:.92;}
.ppp-gantt-blue-title-small{margin-top:0;background:#074b8f;padding:10px 16px;}
.ppp-gantt-filter-strip{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr)) auto;gap:12px;align-items:end;padding:14px 16px 16px;background:#fff;border-bottom:1px solid #dce7f4;}
.ppp-gantt-filter-strip label{display:grid;gap:5px;font-size:12px;font-weight:800;color:#073b70;}
.ppp-gantt-filter-strip input,.ppp-gantt-filter-strip select{width:100%;min-width:0;border:1px solid #d9e3ef;border-radius:3px;background:#fff;color:#201531;padding:8px 10px;font:inherit;font-weight:600;box-sizing:border-box;}
.ppp-gantt-filter-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.ppp-gantt-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid #dce7f4;background:#fff;}
.ppp-gantt-legend{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#4f4660;font-weight:700;}
.ppp-gantt-legend i{width:12px;height:12px;border-radius:50%;display:inline-block;}
.ppp-gantt-legend .status-open{background:#ead866;}
.ppp-gantt-legend .status-in-progress{background:#e85bbd;}
.ppp-gantt-legend .status-stalled{background:#f39b5a;}
.ppp-gantt-legend .status-complete{background:#80ce7b;}
.ppp-gantt-power-shell{display:grid;grid-template-columns:430px 1fr;height:min(72vh,760px);min-height:520px;background:#fff;border-top:1px solid #dce7f4;}
.ppp-gantt-left-pane{border-right:1px solid #c9d6e5;background:#fbfbfd;overflow:hidden;display:grid;grid-template-rows:52px 1fr;}
.ppp-gantt-left-head{display:flex;align-items:center;padding:0 14px;background:#f4f7fb;border-bottom:1px solid #c9d6e5;font-weight:900;color:#073b70;}
.ppp-gantt-left-body{overflow:auto;}
.ppp-gantt-right-pane{overflow:auto;background:#fff;position:relative;display:grid;grid-template-rows:52px 1fr;}
.ppp-gantt-timeline-head{height:52px;position:relative;background:#f7fbff;border-bottom:1px solid #c9d6e5;min-width:100%;}
.ppp-gantt-timeline-body{position:relative;min-height:100%;background:repeating-linear-gradient(to bottom,#fff 0,#fff 43px,#edf1f6 44px);}
.ppp-gantt-month{position:absolute;top:10px;transform:translateX(-50%);font-size:12px;color:#0c5598;font-weight:800;white-space:nowrap;}
.ppp-gantt-month-line{position:absolute;top:31px;height:18px;border-left:2px solid #1b5f9f;}
.ppp-gantt-today{position:absolute;top:0;bottom:0;border-left:3px dotted #f03a3a;z-index:5;}
.ppp-gantt-today b{position:absolute;top:2px;left:6px;background:#fff;color:#f03a3a;font-size:11px;padding:1px 4px;border-radius:5px;box-shadow:0 1px 4px rgba(0,0,0,.08);}
.ppp-gantt-group-left{height:36px;display:flex;align-items:center;gap:8px;padding:0 10px;border-bottom:1px solid #cfd8e5;background:#fff;font-size:13px;color:#4b4b55;}
.ppp-gantt-group-left span{margin-left:auto;background:#eef3f8;border:1px solid #d4ddea;color:#41516a;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:900;}
.ppp-gantt-group-toggle{width:20px;height:20px;border:1px solid #9aaabd;background:#fff;color:#073b70;border-radius:4px;font-weight:900;line-height:16px;cursor:pointer;}
.ppp-gantt-left-row{height:44px;padding:5px 12px 4px 28px;border-bottom:1px solid #eef2f6;box-sizing:border-box;overflow:hidden;}
.ppp-gantt-left-row a{display:block;color:#464f60;text-decoration:none;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ppp-gantt-left-row a:hover{color:#6f3cc3;text-decoration:underline;}
.ppp-gantt-created{font-size:10px;color:#7c718e;text-transform:uppercase;letter-spacing:.05em;font-weight:900;line-height:1.1;margin-bottom:2px;}
.ppp-gantt-row-meta{font-size:11px;color:#746b82;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ppp-gantt-group-line{height:36px;border-bottom:1px solid #cfd8e5;background:#fff;position:relative;}
.ppp-gantt-bar-row{height:44px;border-bottom:1px solid #eef2f6;position:relative;box-sizing:border-box;}
.ppp-gantt-body-gridline{position:absolute;top:0;bottom:0;border-left:1px solid #e1e7ef;z-index:1;}
.ppp-gantt-today-line{position:absolute;top:0;bottom:0;border-left:3px dotted #f03a3a;z-index:4;}
.ppp-gantt-power-bar{position:absolute;top:12px;height:18px;min-width:22px;border:0;border-radius:999px;z-index:7;box-shadow:0 1px 2px rgba(0,0,0,.13);cursor:pointer;overflow:hidden;color:#160d22;font-size:11px;font-weight:900;line-height:18px;padding:0 8px;text-align:center;white-space:nowrap;}
.ppp-gantt-power-bar.status-open{background:#ead866;}
.ppp-gantt-power-bar.status-in-progress{background:#e85bbd;color:#fff;}
.ppp-gantt-power-bar.status-stalled{background:#f39b5a;}
.ppp-gantt-power-bar.status-complete{background:#80ce7b;}
.ppp-gantt-power-progress{position:absolute;left:0;top:0;bottom:0;background:rgba(111,60,195,.26);z-index:-1;}
.ppp-gantt-row-editor{position:absolute;left:12px;right:12px;top:38px;z-index:25;display:grid;grid-template-columns:2fr repeat(5,minmax(115px,1fr)) auto;gap:8px;align-items:end;background:#fff;border:1px solid #c8b4fa;border-radius:12px;box-shadow:0 16px 40px rgba(20,9,45,.18);padding:12px;}
.ppp-gantt-row-editor[hidden]{display:none!important;}
.ppp-gantt-row-editor label{display:grid;gap:4px;font-size:10px;color:#685977;text-transform:uppercase;letter-spacing:.04em;font-weight:900;}
.ppp-gantt-row-editor input,.ppp-gantt-row-editor select{width:100%;box-sizing:border-box;border:1px solid #e3d6fa;border-radius:8px;padding:7px 8px;font:inherit;text-transform:none;letter-spacing:0;color:#201531;background:#fff;}
.ppp-empty-state{padding:32px;text-align:center;color:#756985;font-weight:800;}
@media (max-width:1100px){.ppp-gantt-filter-strip{grid-template-columns:repeat(2,minmax(120px,1fr));}.ppp-gantt-power-shell{grid-template-columns:320px 1fr}.ppp-gantt-row-editor{grid-template-columns:1fr 1fr;}.ppp-gantt-filter-actions{grid-column:1/-1}.ppp-gantt-left-row{padding-left:14px;}}
@media (max-width:760px){.ppp-gantt-power-shell{grid-template-columns:260px 1fr;height:70vh}.ppp-gantt-blue-title{align-items:flex-start;flex-direction:column;gap:4px}.ppp-gantt-filter-strip{grid-template-columns:1fr}.ppp-gantt-left-head,.ppp-gantt-timeline-head{height:46px}.ppp-gantt-left-pane,.ppp-gantt-right-pane{grid-template-rows:46px 1fr}.ppp-gantt-left-row{font-size:12px}.ppp-gantt-row-editor{grid-template-columns:1fr;position:fixed;left:10px;right:10px;bottom:80px;top:auto;max-height:70vh;overflow:auto;}}


/* 0.10.7.14 Gantt readability + notification sound support */
.ppp-gantt-shell{max-width:none!important;width:100%;padding-right:32px!important;}
.ppp-gantt-shell .ppp-topbar{max-width:1460px;}
.ppp-gantt-power-card{max-width:1500px;margin-inline:0 24px;border-radius:20px;}
.ppp-gantt-blue-title{padding:16px 20px;font-size:18px;}
.ppp-gantt-blue-title-small{padding:14px 20px;font-size:17px;}
.ppp-gantt-filter-strip{grid-template-columns:repeat(4,minmax(170px,1fr));gap:14px 18px;padding:18px 20px;}
.ppp-gantt-filter-strip label{font-size:13px;}
.ppp-gantt-filter-strip input,.ppp-gantt-filter-strip select{min-height:42px;border-radius:9px;font-size:15px;padding:10px 12px;}
.ppp-gantt-filter-actions{grid-column:1/-1;justify-content:flex-start;}
.ppp-gantt-focus-note{padding:12px 20px;background:#f7fbff;border-bottom:1px solid #dce7f4;color:#25466b;font-size:14px;line-height:1.4;}
.ppp-gantt-toolbar{padding:14px 20px;gap:12px;}
.ppp-gantt-power-shell{grid-template-columns:minmax(520px,34vw) minmax(900px,1fr);height:min(78vh,900px);min-height:660px;}
.ppp-gantt-left-pane{grid-template-rows:64px 1fr;}
.ppp-gantt-right-pane{grid-template-rows:64px 1fr;}
.ppp-gantt-left-head{height:64px;font-size:16px;padding:0 18px;}
.ppp-gantt-timeline-head{height:64px;}
.ppp-gantt-timeline-body{background:repeating-linear-gradient(to bottom,#fff 0,#fff 63px,#edf1f6 64px);}
.ppp-gantt-month{top:14px;font-size:13px;}
.ppp-gantt-month-line{top:38px;height:24px;}
.ppp-gantt-group-left{height:46px;font-size:14px;padding:0 14px;}
.ppp-gantt-group-line{height:46px;}
.ppp-gantt-left-row{height:64px;padding:8px 14px 7px 34px;}
.ppp-gantt-left-row a{font-size:16px;line-height:1.2;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.ppp-gantt-created{font-size:11px;margin-bottom:4px;}
.ppp-gantt-row-meta{font-size:12px;margin-top:3px;}
.ppp-gantt-bar-row{height:64px;}
.ppp-gantt-power-bar{top:19px;height:26px;min-width:56px;font-size:13px;line-height:26px;padding:0 12px;}
.ppp-gantt-row-editor{top:46px;grid-template-columns:2fr repeat(5,minmax(135px,1fr)) auto;}
.ppp-gantt-left-body,.ppp-gantt-right-pane{scrollbar-width:auto;}
.ppp-gantt-left-body::-webkit-scrollbar,.ppp-gantt-right-pane::-webkit-scrollbar{height:14px;width:14px;}
.ppp-gantt-left-body::-webkit-scrollbar-thumb,.ppp-gantt-right-pane::-webkit-scrollbar-thumb{background:#a79abf;border-radius:999px;}
@media (max-width:1100px){.ppp-gantt-shell{padding-right:16px!important}.ppp-gantt-filter-strip{grid-template-columns:repeat(2,minmax(170px,1fr));}.ppp-gantt-power-shell{grid-template-columns:430px minmax(760px,1fr);min-height:620px}.ppp-gantt-left-row a{font-size:15px;}}
@media (max-width:760px){.ppp-gantt-filter-strip{grid-template-columns:1fr}.ppp-gantt-power-shell{grid-template-columns:330px minmax(760px,1fr);height:74vh}.ppp-gantt-left-row{padding-left:16px}.ppp-gantt-left-row a{font-size:14px}.ppp-gantt-power-card{margin-right:0}.ppp-gantt-row-editor{grid-template-columns:1fr;position:fixed;left:10px;right:10px;bottom:80px;top:auto;max-height:70vh;overflow:auto;}}


/* 0.10.7.16 visible assignment search */
.ppp-assignment-quick-search{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:10px;align-items:center;margin:14px 0 0;}
.ppp-assignment-quick-search input[type=search]{width:100%;min-height:46px;border:1px solid var(--ppp-border);border-radius:999px;background:#fff;padding:10px 16px;font:inherit;box-sizing:border-box;box-shadow:0 8px 18px rgba(83,40,158,.04);}
.ppp-assignment-quick-search input[type=search]:focus{outline:2px solid rgba(111,60,195,.2);border-color:#cdb6f6;}
.ppp-assignment-quick-search .ppp-btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;}
.ppp-filter-panel{overflow:visible;}
.ppp-filters{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));}
.ppp-filters input[type=text],.ppp-filters input[type=search],.ppp-filters input[type=date],.ppp-filters select{min-width:0;}
@media (max-width:720px){.ppp-assignment-quick-search{grid-template-columns:1fr}.ppp-assignment-quick-search .ppp-btn{width:100%;}.ppp-table-card .ppp-section-head{align-items:stretch;flex-direction:column}.ppp-card-count{align-self:flex-start}}


/* 0.10.7.18 Request Intake / tracker */
.ppp-request-import-form { grid-template-columns: repeat(3, minmax(180px, 1fr)); align-items: end; }
.ppp-request-filter-row { display: grid; grid-template-columns: minmax(260px, 1fr) 180px 220px auto auto; gap: 10px; align-items: center; margin: 12px 0 18px; }
.ppp-request-filter-row input,.ppp-request-filter-row select,.ppp-request-import-form input,.ppp-request-import-form select { min-height: 42px; border-radius: 12px; border: 1px solid rgba(124,58,237,.22); padding: 10px 12px; background: #fff; }
.ppp-section-head-row { display:flex; justify-content:space-between; gap: 16px; align-items:center; }
.ppp-request-list { display:grid; gap:14px; }
.ppp-request-item { display:grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 16px; padding: 16px; border:1px solid rgba(124,58,237,.18); border-radius:18px; background: #fff; box-shadow: 0 8px 22px rgba(17, 24, 39, .04); }
.ppp-request-item.is-done { background: #f7fff9; border-color: rgba(34, 197, 94, .26); }
.ppp-request-title-row { display:flex; align-items:center; gap:10px; }
.ppp-request-title { font-weight: 900; color: var(--ppp-ink, #20123a); text-decoration:none; font-size: 16px; }
.ppp-status-dot { width: 11px; height: 11px; border-radius:999px; background:#facc15; flex: 0 0 auto; }
.ppp-status-dot.complete { background:#22c55e; }
.ppp-request-meta { margin-top:6px; font-size:12px; color:#6b5b7c; }
.ppp-request-detail-note { margin:12px 0 0; max-height:180px; overflow:auto; white-space:pre-wrap; background:#fbf7ff; border:1px solid rgba(124,58,237,.14); border-radius:12px; padding:10px; font: 12px/1.45 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; color:#2d1b48; }
.ppp-request-update-form { display:grid; gap:8px; }
.ppp-request-update-form select,.ppp-request-update-form textarea { width:100%; border:1px solid rgba(124,58,237,.22); border-radius:12px; padding:9px 10px; }
.ppp-checkline { display:flex; align-items:center; gap:8px; font-weight:800; }
@media (max-width: 900px) {
  .ppp-request-import-form, .ppp-request-filter-row, .ppp-request-item { grid-template-columns: 1fr; }
}


/* 0.10.7.19 - Request intake + assignment checklist polish */
.ppp-checklist-builder textarea,
.ppp-checklist-add-new textarea { width: 100%; min-height: 96px; }
.ppp-checklist-card .ppp-empty-state { margin-bottom: 14px; }
.ppp-checklist-list { display: grid; gap: 12px; margin-bottom: 18px; }
.ppp-checklist-row {
  display: grid;
  grid-template-columns: minmax(88px, .55fr) minmax(220px, 1.4fr) minmax(180px, .9fr) minmax(240px, 1.4fr) minmax(80px, .45fr);
  gap: 10px;
  align-items: start;
  padding: 12px;
  border: 1px solid rgba(124,58,237,.18);
  border-radius: 16px;
  background: #fff;
}
.ppp-checklist-row.is-done { background: #f0fdf4; border-color: rgba(22,163,74,.22); }
.ppp-checklist-row input[type="text"],
.ppp-checklist-row select,
.ppp-checklist-row textarea { width: 100%; }
.ppp-checklist-done,
.ppp-checklist-delete { margin-top: 26px; }
.ppp-request-import-form { max-width: none; }
.ppp-request-filter-row { display: grid; grid-template-columns: minmax(240px, 1fr) 180px 220px auto auto; gap: 12px; align-items: center; }
.ppp-request-list { display: grid; gap: 14px; }
.ppp-request-item { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 420px); gap: 16px; padding: 16px; border: 1px solid rgba(124,58,237,.16); border-radius: 18px; background:#fff; }
.ppp-request-item.is-done { background:#f8fafc; opacity:.9; }
.ppp-request-update-form { display:grid; gap:10px; }
.ppp-request-detail-note { white-space: pre-wrap; overflow:auto; max-height: 260px; padding: 12px; background:#faf7ff; border-radius:14px; border:1px solid rgba(124,58,237,.14); }
@media (max-width: 980px) {
  .ppp-checklist-row { grid-template-columns: 1fr; }
  .ppp-checklist-done,
  .ppp-checklist-delete { margin-top: 0; }
  .ppp-request-filter-row,
  .ppp-request-item { grid-template-columns: 1fr; }
}


/* 0.10.7.27 - readable checklist cards and imported request lines */
.ppp-checklist-card { max-width: 1180px; }
.ppp-checklist-row {
  grid-template-columns: 130px minmax(360px, 1.7fr) minmax(220px, .8fr) minmax(300px, 1.2fr) 100px;
  gap: 14px;
  padding: 18px;
  align-items: stretch;
  box-shadow: 0 8px 24px rgba(45, 19, 88, .05);
}
.ppp-checklist-row label { font-size: 13px; color: #3b285f; }
.ppp-checklist-row .ppp-checklist-item-field textarea {
  min-height: 112px;
  font-size: 14px;
  line-height: 1.55;
  font-weight: 700;
  color: #1f1433;
  background: #fff;
  white-space: pre-wrap;
}
.ppp-checklist-row .ppp-checklist-notes-field textarea { min-height: 112px; line-height: 1.45; }
.ppp-checklist-row select { min-height: 42px; }
.ppp-checklist-done,
.ppp-checklist-delete {
  margin-top: 0;
  align-self: center;
  justify-content: center;
  min-height: 54px;
  padding: 12px;
  border-radius: 14px;
  background: #fbf7ff;
  border: 1px solid rgba(124,58,237,.14);
}
.ppp-checklist-row.is-done .ppp-checklist-item-field textarea { text-decoration: line-through; opacity: .75; }
.ppp-checklist-add-new textarea { min-height: 120px; }
@media (max-width: 1100px) {
  .ppp-checklist-row { grid-template-columns: 1fr; }
  .ppp-checklist-done,
  .ppp-checklist-delete { justify-content: flex-start; min-height: auto; }
}


/* 0.10.7.37 - restore legacy checklist field meaning */
.ppp-checklist-assignee-field input[type="text"] {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(102, 51, 204, .22);
  border-radius: 12px;
  padding: 10px 12px;
  background: #fff;
  font-weight: 700;
}
.ppp-checklist-item-field textarea,
.ppp-checklist-notes-field textarea {
  line-height: 1.45;
  white-space: pre-wrap;
}


/* 0.10.7.45 - visual-only checklist layout safety fix */
.ppp-checklist-card {
  max-width: min(1420px, calc(100vw - 40px));
  overflow: visible;
}
.ppp-checklist-list {
  display: grid;
  gap: 18px;
}
.ppp-checklist-row {
  display: grid;
  grid-template-columns: minmax(96px, 120px) minmax(360px, 2fr) minmax(220px, .9fr) minmax(340px, 1.35fr) minmax(86px, 100px) !important;
  gap: 18px !important;
  align-items: start !important;
  padding: 18px !important;
  overflow: visible !important;
}
.ppp-checklist-row > * {
  min-width: 0;
}
.ppp-checklist-row .ppp-checklist-item-field,
.ppp-checklist-row .ppp-checklist-notes-field,
.ppp-checklist-row .ppp-checklist-assignee-field {
  min-width: 0;
}
.ppp-checklist-row .ppp-checklist-item-field textarea,
.ppp-checklist-row .ppp-checklist-notes-field textarea,
.ppp-checklist-row textarea[name="checklist_item_text[]"],
.ppp-checklist-row textarea[name="checklist_item_note[]"] {
  width: 100% !important;
  min-height: 140px !important;
  white-space: pre-wrap !important;
  overflow-wrap: anywhere !important;
  line-height: 1.55 !important;
  resize: vertical !important;
  box-sizing: border-box !important;
}
.ppp-checklist-row .ppp-checklist-assignee-field input,
.ppp-checklist-row .ppp-checklist-assignee-field select,
.ppp-checklist-row select,
.ppp-checklist-row input[type="text"] {
  width: 100% !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
}
.ppp-checklist-done,
.ppp-checklist-delete {
  align-self: stretch !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 80px !important;
  margin-top: 0 !important;
}
@media (max-width: 1280px) {
  .ppp-checklist-row {
    grid-template-columns: minmax(90px, 110px) minmax(300px, 1.5fr) minmax(200px, .85fr) minmax(260px, 1fr) minmax(80px, 96px) !important;
  }
}
@media (max-width: 980px) {
  .ppp-checklist-card { max-width: 100%; }
  .ppp-checklist-row { grid-template-columns: 1fr !important; }
  .ppp-checklist-done,
  .ppp-checklist-delete {
    justify-content: flex-start !important;
    min-height: auto !important;
  }
  .ppp-checklist-row .ppp-checklist-item-field textarea,
  .ppp-checklist-row .ppp-checklist-notes-field textarea,
  .ppp-checklist-row textarea[name="checklist_item_text[]"],
  .ppp-checklist-row textarea[name="checklist_item_note[]"] {
    min-height: 120px !important;
  }
}


/* 0.10.7.46 - visual-only checklist card layout; keeps data unchanged */
.ppp-checklist-card {
  max-width: min(1500px, calc(100vw - 36px)) !important;
  width: 100% !important;
}
.ppp-checklist-list {
  display: grid !important;
  gap: 18px !important;
}
.ppp-checklist-row {
  display: grid !important;
  grid-template-columns: 96px minmax(0, 1.1fr) minmax(0, 1fr) 92px !important;
  grid-template-areas:
    "done item item delete"
    "done contact notes delete" !important;
  gap: 14px 18px !important;
  align-items: stretch !important;
  padding: 18px !important;
  overflow: visible !important;
}
.ppp-checklist-row .ppp-checklist-done { grid-area: done !important; }
.ppp-checklist-row .ppp-checklist-item-field { grid-area: item !important; }
.ppp-checklist-row .ppp-checklist-assignee-field { grid-area: contact !important; }
.ppp-checklist-row .ppp-checklist-notes-field { grid-area: notes !important; }
.ppp-checklist-row .ppp-checklist-delete { grid-area: delete !important; }
.ppp-checklist-row .ppp-checklist-item-field,
.ppp-checklist-row .ppp-checklist-assignee-field,
.ppp-checklist-row .ppp-checklist-notes-field {
  display: block !important;
  min-width: 0 !important;
  width: 100% !important;
}
.ppp-checklist-row textarea[name="checklist_item_text[]"],
.ppp-checklist-row textarea[name="checklist_item_note[]"] {
  width: 100% !important;
  max-width: none !important;
  min-height: 118px !important;
  box-sizing: border-box !important;
  resize: vertical !important;
  line-height: 1.55 !important;
  white-space: pre-wrap !important;
  overflow-wrap: anywhere !important;
}
.ppp-checklist-row textarea[name="checklist_item_text[]"] {
  min-height: 130px !important;
}
.ppp-checklist-row input[name="checklist_person_name[]"],
.ppp-checklist-row select,
.ppp-checklist-row input[type="text"] {
  width: 100% !important;
  max-width: none !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
}
.ppp-checklist-row .ppp-checklist-done,
.ppp-checklist-row .ppp-checklist-delete {
  min-height: 78px !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
}
@media (max-width: 1100px) {
  .ppp-checklist-row {
    grid-template-columns: 86px minmax(0, 1fr) 86px !important;
    grid-template-areas:
      "done item delete"
      "done contact delete"
      "done notes delete" !important;
  }
}
@media (max-width: 720px) {
  .ppp-checklist-row {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "done"
      "item"
      "contact"
      "notes"
      "delete" !important;
  }
  .ppp-checklist-row .ppp-checklist-done,
  .ppp-checklist-row .ppp-checklist-delete {
    justify-content: flex-start !important;
    min-height: 44px !important;
  }
}
